FV-1 Multi effect full forum project ready to go. (ShimmerVerb Also)

Started by Ice-9, September 08, 2013, 09:23:49 AM

Previous topic - Next topic

slacker

Quote from: scuzzphut on November 04, 2013, 04:48:58 PM
Brilliant stuff, Piet.

On switches - I've found these from China (UK ebay, but I'm sure they're available all over) ---> http://www.ebay.co.uk/itm/1-Pole-8-Position-PANEL-PCB-Wiring-ROTARY-SWITCH-1P8T-q-/180699868121?pt=LH_DefaultDomain_0&hash=item2a128d2bd9

They're not actually 8 position switches, they're 12 position with the washer set to allow only 8 positions. They will work but the 8 positions will only take up 2/3rds of the rotation.

Ice-9

Quote from: slacker on November 05, 2013, 03:37:37 AM
Quote from: scuzzphut on November 04, 2013, 04:48:58 PM
Brilliant stuff, Piet.

On switches - I've found these from China (UK ebay, but I'm sure they're available all over) ---> http://www.ebay.co.uk/itm/1-Pole-8-Position-PANEL-PCB-Wiring-ROTARY-SWITCH-1P8T-q-/180699868121?pt=LH_DefaultDomain_0&hash=item2a128d2bd9

They're not actually 8 position switches, they're 12 position with the washer set to allow only 8 positions. They will work but the 8 positions will only take up 2/3rds of the rotation.

I've just been testing out a little switch setup that I knocked up today and it is working great and is a direct replacement for the pot.
Small etched pcb

Fully soldered up ready to replace the pot
www.stanleyfx.co.uk

Sanity: doing the same thing over and over again and expecting the same result. Mick Taylor

Please at least have 1 forum post before sending me a PM demanding something.

therealfindo

Quote from: Ice-9 on November 05, 2013, 10:44:04 AM
Quote from: slacker on November 05, 2013, 03:37:37 AM
Quote from: scuzzphut on November 04, 2013, 04:48:58 PM
Brilliant stuff, Piet.

On switches - I've found these from China (UK ebay, but I'm sure they're available all over) ---> http://www.ebay.co.uk/itm/1-Pole-8-Position-PANEL-PCB-Wiring-ROTARY-SWITCH-1P8T-q-/180699868121?pt=LH_DefaultDomain_0&hash=item2a128d2bd9

They're not actually 8 position switches, they're 12 position with the washer set to allow only 8 positions. They will work but the 8 positions will only take up 2/3rds of the rotation.

I've just been testing out a little switch setup that I knocked up today and it is working great and is a direct replacement for the pot.
Small etched pcb

Fully soldered up ready to replace the pot


nice! Glad I haven't started building mine yet.. will still be able to incorporate this :)

Would it be possible to use normal resistors with this little daughterboard? Or is it too tight?

slacker

Very nice, if you want to use a switch though wouldn't it make more sense to ditch the PIC and use a diode matrix instead. Takes about the same number of components and an extra wire or two between the switch and the board.

Ice-9

Quote from: slacker on November 05, 2013, 11:34:56 AM
Very nice, if you want to use a switch though wouldn't it make more sense to ditch the PIC and use a diode matrix instead. Takes about the same number of components and an extra wire or two between the switch and the board.

That's exactly what I was going to do originally but this resistor/switch combination can be soldered directly in place of the pot (less offboard wiring to do but added cost of the pic). If I do a PCB revision later I will most likely have a look at the diode route without the pic but what I really want is a good small suitable BCD encoder. I'm still looking for these hard to find gubbins.

@Therealfindo I will see if I can knock up a through hole version of this. It's one of those instances where size does matter. lol
www.stanleyfx.co.uk

Sanity: doing the same thing over and over again and expecting the same result. Mick Taylor

Please at least have 1 forum post before sending me a PM demanding something.

slacker

Fair enough. Yeah I gave up on looking for BCD/HEX switches pretty early on, the best I found were the same ones scuzzphut posted but these are a bit big if you're trying to build a compact pedal, plus they're a D shaft which limits your knob choice.

I've just been looking at rotary encoders instead of switches you can get small ones of these with detents for a couple of quid, one of those and a PIC might not be a bad way to go. The detents would reduce the chance of accidentally turning the pot and changing the patch if that's the objection to using a pot, I assume that's what Piet was referring to earlier.

By the way, if you're interested I've tweaked my code to run on a cheaper 12F615 PIC, about 30p less for the DIP version. This is a direct replacement for the earlier version, there are cheaper PICs you could use but the pinout would have to change.


;3 bit glitchless A2D converter
;Version 2 12/10/2013
;          __________
;   VDD ---|        |--- VSS
;       ---| 12F615 |--- Bit 0
; CV In ---|        |--- Bit 1
;       ---|________|--- Bit 2

   list   p=12F615
   #include <p12f615.inc>
    __config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOREN_OFF)

   cblock 0x40
   new
   current
   count
   endc

   org 0

Start:
    banksel GPIO
    clrf GPIO          ;clear GPIO
    movlw 07h
    movwf CMCON0       ;turn off comparators
    banksel ANSEL
    movlw b'00010000'  ;set pin3 as input rest as output
    movwf TRISIO
    banksel ANSEL
    movlw b'00011000'  ;set pin3 as analogue input (AN3)
    movwf ANSEL
    banksel ADCON0
    movlw b'00001101'  ;turn on ADC on AN3 left justified
    movwf ADCON0

Mainloop:
   nop                 ;wait for a bit
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   banksel ADCON0
   bsf ADCON0,GO       ;Do ADC
   btfsc ADCON0,GO
   goto $-1

   banksel ADRESH
   movf ADRESH,w
   movwf new           ;write upper 8 bits to new register
   swapf new,f         ;swap upper and lower bits
   rrf new,w           ;move 1 step to the right bits 5,6,7 now in positions 0,1,2
   andlw b'00000111'   ;clear 5 upper bits
   movwf new           ;write back to new register
   subwf current,w     ;subtract from current value
   skpz                ;skip next line if zero ie:- new = current
   goto counter        ;if new <> current goto counter
   movlw b'11111111'   ;reset count to 255
   movwf count
   goto Mainloop       ;back to the start

counter:
   decfsz count,f      ;deduct 1 from count, if count = 0 skip the next line
   goto Mainloop       ;if count > 0 go back to the start
   movf new,w          ;if count = 0 move value of new to current
   movwf current
   banksel GPIO
   movwf GPIO          ;and send to GPIO
   goto Mainloop       ;back to the start

   end

scuzzphut

Quote from: slacker on November 05, 2013, 01:30:58 PM
Fair enough. Yeah I gave up on looking for BCD/HEX switches pretty early on, the best I found were the same ones scuzzphut posted but these are a bit big if you're trying to build a compact pedal, plus they're a D shaft which limits your knob choice.
Nobody wants limited knob choice. :o
Actually, I never thought of that, Slacker. I've gone ahead and ordered a few, will report here with my findings.

Ice-9

@Slacker, Cheers Ian for the updated code to work with the 12f615.

I think it's an advantage to have a click/detent to the program selection on stage in a live situation and the easiest way would have been a pot with 8 detents but this would have been a custom order and would have to be in the thousands to have made.  :o
How are things getting on with your FV-1 design I'm looking forward to seeing where you might take it.

@scuzzphut, I have used those switches before in other FV-1 projects but I used the gray code binary version. It was possible to select between 2 and 12 switch positions by using the tabbed washer to limit the switch. They are ok but a bit cheap quality. I didn't consider them in this FV-1 for space and quality reasons. The switches I am now testing seem good quality and are a good price and small size. This really is a case of size matters.
www.stanleyfx.co.uk

Sanity: doing the same thing over and over again and expecting the same result. Mick Taylor

Please at least have 1 forum post before sending me a PM demanding something.

ketterman

Greetings, I am working on an Arduino shield for the FV-1 as an approach to building a multi-effect unit out of an FV-1 or three. Where it stands now - I have a breadboarded version, and some very basic arduino code to control the chip everything.  I also have a single-sided pcb designed, and will be ordering parts once I feel that it is refined enough. It's still early in the prototype phase, but it's an exciting place to be, calling up programs from the arduino and controlling the 'pot' inputs from the PWM pins already on the board. The 3.3v supply on the Arduino Uno seems to run the fv-1 without any problems. I also use LEDs as program indicators. The Arduino logic runs at 5v, and needs to be dropped to 3.3v for the fv-1. It turns out that some common red LEDs are perfect for this.

One problem: Some extra noise is coming through, and my initial thought was that the PWM osciallation from the arduino was causing it, but the frequency of the noise is much higher than that produced in PWM mode.

peterv999

Quote from: ketterman on November 10, 2013, 12:31:29 AM
Greetings, I am working on an Arduino shield for the FV-1 as an approach to building a multi-effect unit out of an FV-1 or three. Where it stands now - I have a breadboarded version, and some very basic arduino code to control the chip everything.  I also have a single-sided pcb designed, and will be ordering parts once I feel that it is refined enough. It's still early in the prototype phase, but it's an exciting place to be, calling up programs from the arduino and controlling the 'pot' inputs from the PWM pins already on the board. The 3.3v supply on the Arduino Uno seems to run the fv-1 without any problems. I also use LEDs as program indicators. The Arduino logic runs at 5v, and needs to be dropped to 3.3v for the fv-1. It turns out that some common red LEDs are perfect for this.

One problem: Some extra noise is coming through, and my initial thought was that the PWM osciallation from the arduino was causing it, but the frequency of the noise is much higher than that produced in PWM mode.
Here is a complete interface from an Arduino to the FV-1 unit:



It is already be used including extensive code to automate FV-1 based designed.  The board shown is called the universal I/O board  that takes different configurations like I2C LCD displays or Adafruit's LCD shield. The automation is also including MIDI and the 5 tactile button configuration can be changed to a rotary. Yes, this setup does stores patches and/or allows for changing,adding and deleting patches.

Piet

ketterman

Hi Piet, I am already very familiar with your work and I also plan to build an eTap2Hw unit in the near future. I mentioned to Frank that I would like to add your SKRM-C8-eTap2 module to my next order in that regard. I am a big fan of your work and it was part of the inspiration to move in the direction I am taking with the Arduino shield. I've been spending a lot of time with this chip and I am exploring a few different ideas, including the inspired ones I am seeing here.

The shield I am working on places the fv-1 on the shield along with a bevy of surface mount components. After I got about a third of the way through the design I ran across the audio codec shield here:
http://www.openmusiclabs.com/projects/codec-shield/
It looks a little like what I am aiming for with this project. I will post the details once I get a working prototype.

I am glad to see the work here in designing a better rotary switch as well. I had all but given up on the idea of using them until I checked back into this thread a couple of days ago. I used a rotary in two of my projects and they feel cheap like the ones from old televisions from the 70s. They were always stripped, broken or felt like they were on the verge of being stripped or broken.

Best Regards -
Brian


Ice-9

Hi Brian

I look forward to seeing how you progress with this shield, I have looked at Piet's and Phil's work over at the etapper website and it looks really impressive.
About the rotary switch, trying to get a good quality suitable switch has been really difficult. The switches being tried out at the moment work but I'm not 1005 happy with the 6mm plastic d shape shaft. Thw binary 8 postion switch I would like to get is made by Belton but I have been unable to source these anywhere in Europe. Profusion who supply the FV-1 chips sell a Belton switch and when I contacted them about the specs say they were thinking of stocking the correct one for the FV-1 but if they do decide to stock it, it won't be in the near future.  :icon_frown:
www.stanleyfx.co.uk

Sanity: doing the same thing over and over again and expecting the same result. Mick Taylor

Please at least have 1 forum post before sending me a PM demanding something.

peterv999

Brian,

Great to know of your initiative!

My mentioning of the work we've done was just to assure you're aware of it avoiding efforts re-inventing. One of the items that could help you is the understanding of the automation that's already in a mature state. I'm sure there are some lessons-learned. You'll find on my blog's etap2hw menu a direct link to the automation.

If building my design assure you're familiar with the bulletins on my blog most written by others making eTap2hw even better than design intend 8-)

scmitche

Quote from: ketterman on November 10, 2013, 12:31:29 AM
Greetings, I am working on an Arduino shield for the FV-1 as an approach to building a multi-effect unit out of an FV-1 or three. Where it stands now - I have a breadboarded version, and some very basic arduino code to control the chip everything.  I also have a single-sided pcb designed, and will be ordering parts once I feel that it is refined enough. It's still early in the prototype phase, but it's an exciting place to be, calling up programs from the arduino and controlling the 'pot' inputs from the PWM pins already on the board. The 3.3v supply on the Arduino Uno seems to run the fv-1 without any problems. I also use LEDs as program indicators. The Arduino logic runs at 5v, and needs to be dropped to 3.3v for the fv-1. It turns out that some common red LEDs are perfect for this.

One problem: Some extra noise is coming through, and my initial thought was that the PWM osciallation from the arduino was causing it, but the frequency of the noise is much higher than that produced in PWM mode.
Hi,
If you look at Piet's Echotapper Blog you will see among the August Workshop Bulletins an inductor based noise isolation circuit which we had to design for the eTap2hw automation. It helps to prevent the internal bus noise of the Arduino getting into the FV-1 DSP power and creating the sort of higher frequency interference noise you are hearing. The Arduino automation coded by Philip Hawthorne is now very stable and elegant and also has the advantage of a PC or MAC based librarian/editor connected to the Arduino by USB for patch editing, storage and re-arrangement of order to suit a particular live set etc. The Automation can also be run in a "live" mode such that the front panel pots control the FV-1 while you can hear the changing echo sound, when you are happy you can save and name the patch from the front panel via either push buttons or rotary encoder. These features coupled with the possibility of MIDI patch control and USB access to the Arduino for updating the Automation makes the system flexible and very gig friendly. All in all a well thought out piece of kit.
Regards,
Steve Mitchell

Ice-9

I'm just posting a list of what effects are on the Eeprom and what each control potentiometer does. Also a BOM for building, I will also post some soundclips of each effect as soon as I can.

                                Eeprom effects pre programmed.


     EFFECT     POT0        POT1      POT2

1. Reverb Room   Damping      Rev level      Decay

2. Reverb Hall   Damping      Rev level      Decay

3. ShimmerVerb   Feedback      Dry/Wet Mix   Shimmer level

4. Octaver           Octave + level   Octave - level     Dry level

5. Rev/Chorus   Chorus Width   Rev level      Chorus Rate

6. Rev/Flanger   Flanger Depth   Rev level      Flanger Rate

7. Rev/Phaser   Phaser Width   Rev level      Phaser Rate   

8. Rev/Auto wah   Wah Filter Q   Rev level      Wah Sensitivity


Effects 1 and 2 are modified Room and Hall Reverbs giving good control of all parameters. Decay is from very tight and

small to open and large (almost 30 seconds of decay).

Effect 3 is a Shimmer reverb and is still being worked on to improve it. Initial program from the Spin website written by

Ronaldb

Effect 4 is an octaver, the 3 controls are all level controls for the dry, octave up and octave down signals. This is a

MicroPOG work alike. I believe Frank wrote this one (One of the Spin FV-1 designers)

Effect 5-8 are all from the Spin website guitar demo programs with some small modifictions.

The firmware on the pic was written by Ian (Slacker) Thanks Ian.
Thanks to Kieth Barr for Designing the FV-1.

FV-1 PCB parts list (Multi Effect)

R1   = 100K          C1   = 100uf electro
R2   = 33 Ohm         C2   = 10uf electro
R3   = 47K         C3   = 100nf
R4   = 47K         C4   = 10uf electro
R5   = 1M                 C5   = 100nf
R6   = Fit jumper wire       C6   = 1uf 16v electro
R7   = 470K         C7   = 1nf
R8   = 1K                 C8   = 1uf 16v electro
R9    = 1K                 C9   = Not Fitted
R10   = 1K                 C10   = Not Fitted
R11   = Not Fitted      C11   = 10uf electro
R12   = Fit jumper wire   C12   = 1uf electro
R13   = 1K                 C13   = 47pf ceramic
R14   = Fit jumper wire   C14   = 100n
R15   = 100K         C15   = 1uf electro
R16   = 100 Ohm
R17   = 10K      
R22   = 4K7 (LED current resistor)   X1   =32.768khz Watch Crystal
Rx   = 100K

VR1   = 50Kb                         TR1   = IRFD9024
VR2   = 50Kb                         D1   = BZX55c 10v Zenner
VR3   = 50Kb                         Reg   = 78L33 (3.3v regulator)
VR4   = 50Kb (or switch assembly)   IC1   = TL072
                                    IC2   = 24LC32A Eeprom SOIC
SW1   = 3PDT Footswitch              IC3   = FV-1 Reverb
JK1,2   = Stereo PCB mount                    IC4   = PIC12F683
      Jack socket                      LED   = 5mm Red led
www.stanleyfx.co.uk

Sanity: doing the same thing over and over again and expecting the same result. Mick Taylor

Please at least have 1 forum post before sending me a PM demanding something.

therealfindo


therealfindo

Hey Mick,

I don't suppose you've got a drilling template for the board do you?
     (I could measure it myself, but if you've already got one, it would save me the trouble, and be more accurate! :) )

Ice-9

Yeah, I will post up a drilling template for a 1590b and all sizes for pcb layout , I don't have it on the PC but have it hand drawn with all measurements marked in mm I will post that as soon as I can for now and try and get a cad version drawn up.

@Athos, Hi Jim I've been trying to answer you PM but your inbox is full.


Drilling Template measurements


I use the Eddystone 1590b enclosure and all measurements are in mm and measured from the topface bottom edge of the pedal. I usually place masking tape on the enclosure and draw a centre line then measure the drill points out.

www.stanleyfx.co.uk

Sanity: doing the same thing over and over again and expecting the same result. Mick Taylor

Please at least have 1 forum post before sending me a PM demanding something.

Athos

Thanks for drilling template!!

My inbox should now be empty....

Cheers

therealfindo

Quote from: Ice-9 on November 25, 2013, 02:14:56 PM


Drilling Template measurements


I use the Eddystone 1590b enclosure and all measurements are in mm and measured from the topface bottom edge of the pedal. I usually place masking tape on the enclosure and draw a centre line then measure the drill points out.



Sweet! Thanks.

btw, I usually use a non-permanent marker to make the drill markings - it stays on until you wipe with a damp cloth..