Basestar FV-1 Development board

Started by free electron, January 12, 2016, 04:48:44 AM

Previous topic - Next topic

free electron

New project i have been working on for the last few moths is finally online.
It is a more sophisticated SpinSemi FV-1 dev board offering a few tricks to expand the control capabilities of the FV-1 DSP and make the development easier (variable monitoring).
Not really something that could be built into a pedal, but rather a part of modular dev system.
Apart from the DSP chip itself it uses an ARM Cortex M0 PSoC (~$4) to do all the switching, cap sense buttons, waveform&clock generation, display and so on.

 


Together with the Dev_LOOP (analog IO) and the EEPROM Programmer it makes a quite versatile combo covering almost all you need to create an FV-1 based effect:




Implemented features

Signal routing:

  • stereo in/out
  • mono + ADCR used as 4th control input (via external modulated oscillator)
  • DACR readout mode to monitor variable values
  • relay based bypass options: ON / Tails / OFF

DSP clock:

  • 11kHz
  • 16kHz
  • 22kHz
  • 32kHz
  • 44kHz
  • 48kHz
  • 52kHz

POT3 is a square wave oscillator with static or LFO-modulated amplitude. It can be fed into the ADCR and after rectifying and filtering used as a 4th fast updated control input.
LFO OFF: POT3 controls the amplitude of the ~315Hz square wave

LFO controls

Wave, there are 7 available waveforms:

  • Sin
  • Tri
  • Ramp Up
  • Ramp Down
  • Hypertri
  • Random Step
  • Square
LFO pot controls:

  • SPEED
  • DEPTH
  • POT3 = LFO BIAS - moves the center line of the waveform up/down
The LFO output signal is shown and animated on the display.
This video shows the LFO in action using a resonant lowpass filter program:


Initially i had a plan to built an EEPROM programmer into the board, however, after finding a much better solution (in my opinion, works with the SpinAsm directly) i decided to leave it. I may implement it in the future though, as the MCU has the access to the I2C bus.

link to PROJECT
All the design files (schem, gerbers, firmware) are on Github.
The smallest used package is 0805, so it's relatively easy to hand solder.
I still have a few PCBs left, drop me a message if you'd like to get one.

Enjoy!

--
Piotr


Digital Larry

So, as I gather it, you have completely moved LFO generation out of the FV-1 (not that a sneaky person couldn't put one in there still).  Is that true?  Looks quite ambitious.
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

free electron

Not really moved the LFO out, but added another, more versatile one. You can use it at the cost of one audio channel and a few DSP instructions.
The way it works is a classic AM modulation example.

This is the triangle LFO waveform generated by the MCU and fed into ADCR:


equ POT3    reg0    ;POT3 = 4th control input
equ POT3flt reg1    ;POT3 filter reg
                    ;ensure ACC is empty
rdax ADCR,1.0       ;read ADCR into ACC

Now, we need to extract the envelope by taking an absolute value:

absa                ;|ACC|
And smooth out the result by applying some lowpass filtering:


rdfx POT3flt,0.0005 ;filter
wrlx POT3flt,-1     ;the envelope
wrax POT3,0         ;POT3 ready to use



Digital Larry

Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

slacker

Very nice, I like the DACR readout idea, I've done a similar thing in the past by hooking it up to a scope.

cloudscapes

Looks great!

Great way to squeeze another input out of it, too!
~~~~~~~~~~~~~~~~~~~~~~
{DIY blog}
{www.dronecloud.org}

Ice-9

Nice piece of kit, love the neat layout as well.
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.

free electron

Thanks! Made with KiCad4 and partially the free version of DipTrace (hatched zones around capsense buttons, KiCad still can't do that).

Ice-9

Quote from: free electron on January 22, 2016, 03:09:59 AM
Thanks! Made with KiCad4 and partially the free version of DipTrace (hatched zones around capsense buttons, KiCad still can't do that).

I use Diptrace quite a bit, I don't know if you are aware but if you ask diptrace for a non profit serial number it will expand the free version to 500 hole limit over the 300 hole free version. Worth getting.
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.

free electron

Thanks for the tip, but i think i'll stick with KiCad. Diptrace with it's 500 pin limit is still pretty low and you get only two signal layers (thinking about more complex dsp boards with parallel ram interfaces etc).
I have been using KiCad for almost a year now, done quite a few projects with it, built up my own library of verified parts/footprints, integrated it with another free 3D modelling soft. For my needs it does the job pretty nicely.