Getting started with the FV1

Started by Benoi31, December 05, 2016, 04:48:00 AM

Previous topic - Next topic

Benoi31

Hello !

Finally, I have decided to give a try to the Spin FV1, which seems quite a nice and fun chip to work with, even if I am not familiar at all with DSP coding!

But first, I wanted to design a 125B enclosure PCB using the system of switching I used on my Montagne Tremolo that allows to fit 6 positions switches in 125B enclosures. With the 8 built in programs, I can have 12 programs this way (if I manage to code successfully 6 other nice programs...)

I have read a lot about the FV1, designing the circuit seems a bit tricky and experimental compared to the BTDR2 for instance.

I have a few questions :

  • My build is going to be mono. Should I tie the 2 outputs together? I have read many case where people recommend to let one free to avoid noise...
  • Should I use a trimpot in the loop of the first OP amp to manually adjust how much current drives the FV1?
  • Would a simple dry kill like the one I implemented on my schematic work?
  • Regarding the PCB design, is the FV1 usually noisy? (meaning, should I separate ground planes and link them in one point only?)

Here is the schematic I have made for now:


They are 6 controls + 2 switchs:

  • 3 pots to controll the FV1 program
  • 1 1P6T switch to switch between programs
  • mix + volume pot
  • Dry kill switch
  • Feeback switch
  • An internal switch to select between built in banks and homemade banks (for now, built in banks only...) I used the schematic on the datasheet to make this one
  • and a footswitch that set pot1 to maximum (for instant long reverb times for instance)

I try to made it buffered, so the signal is always going trough both OP amps. I have seen some schematics with treble filtering in the last stage, is it to remove noise?

I am currently designing the PCB, but I would like to know if I did any mistake before sending it to OshPark...

free electron

You have biased the opamps as if they'd be powered with a bipolar supply, yet your power is not only single, but also taken from the virtual ground potential 4.5V.
In other words:
Pin 8 of the opamp goes to 9V.
Pins 3 & 5 (non-inverting input) to 4.5V
I'd use an SPDT as the Kill switch. CR5 would be switched between the dry signal (IC3a out) and 4.5V potential. This way the dry signal input in to the mixer stage will be properly muted, not hanging in the air, picking up any noise.
You could also cascade the voltage regulators. 9V goes into 5V Vreg and 5V into 3.3V Vreg.

Benoi31

Right!
I will change the OP amp biasing.

The SPDT switch seems like a good idea too, especially as digital circuits can already be noisy at the basal level.

Thank you very much!

Digital Larry

#3
I'm not an expert in FV-1 HW design, but I do hear a number of people have had noise issues.  My strongest recommendation regarding HW design is to get advice from Frank at the Spin forum, since he was involved with the chip design and probably has more experience in that regard than anyone on the planet.

Regarding coding, you can hit this link to learn about a program I wrote which makes designing algorithms for the FV-1 relatively easy.
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

Ice-9

You are sending the output from pin 28 FV-1 back into the input pins 1+2, but you are taking this directly before any filtering of the output, this could be a likely source to build increasing noise. It would be best to feedback the output AFTER the output filtering.
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.

octfrank

What Ice-9 said, you must filter the output prior to feeding back. It is a delta-sigma converter so it pushes noise out of band so if you feedback without filtering the noise will alias back in band and you will hear it.
Frank Thomson
Experimental Noize

slacker

It might be an idea to send the input just into the left input and send the feedback into the right input. This way you can process the feedback separately to the input, so you could for example lowpass filter the feedback signal or pitch shift it, if you just want feedback just add the left and right input together in code. I did this in a synth module and it gives you some interesting options.
You could also take the feedback from the right output, then you can do stuff like have the feedback be just wet signal and have a mix of wet and dry on the left output.

pruttelherrie

With regards to feedback, in addition to all the remarks above: if you make it a pot with which you can control the amount of signal fed back, you free up a parameter pot for other functions.

Benoi31

Thank you all for your tips :)

I finally decided to remove the feedback loop, in order to be able to use the pre-stored programs of the FV1.
I used a second relay with the PIC to be able to place a second footswitch that will set pot1 to max.

Here is the updated schematic:


So I will have :

  • Pot 1, 2, 3, mix, volume and the 1P6T program selector switch.
  • Footswitch for setting the pot1 to max
  • Inbuilt / Outbuilt programs switch
  • tone switch to make the reverb bright or dull by changing the value of the FC7 capacitor

I designed a PCB for a 125B enclosure, currently waiting for it from OshPark

Benoi31

OK I have just tested this board, and it works fine :)
(apart from one forgotten connection)

The "tone" switch is not really interesting, so I replaced it with a "dry / wet" switch.
The buffered bypass needs improvements, because the dry / wet switch affects the bypass signal and the volume too.

I also have a bit of noise (not much, but still, it could be nice to reduce it). I read that it could be a good idea to drive the chip a bit more by using an amplification on the first gain stage. Have you tried it ?

I tried to make my own algorithms using SpinCad, I am amazed of how easy it is!

cloudscapes

for noise, it generally really helps to put the input cap as physically close as possible to the input pin, as a general rule of thumb for ADC covnerters, in your case FC1/1nf.
~~~~~~~~~~~~~~~~~~~~~~
{DIY blog}
{www.dronecloud.org}