How exactly does this work?

dann0banno

New member
Hello, I'm brand new to digital effects and am a little confused as to how it all works. Does the Spin FV-1 Development Board basically let you program your own EEPROM chip? Can you then use that chip in other boards? Also, if that's correct so far, are you only able to swap out the pedalpcb effects, or can you create your own? Sorry if these questions don't make sense I might be misunderstanding something.
 
Almost all pedals that use the fv-1, and def all of them on this site, read their programs from a generic EPROM chip (24LC32), which can store eight distinct programs. If you have any fv-1 pedal that has a socket for that eprom, then yes you can swap it out with your own programs. I have done this with some commercial pedals.

The Spin development board is the easiest way to develop and test your own programs. It also has an fv-1, stereo analog i/o, and three pots, so you can also use it to test your programs. It's the easiest way because it also connects to the Spin IDE on Windows with no fuss.

Look, a "program" can be in the form of source code you got off github or wrote yourself, or it can be compiled into the binary file that goes on the EPROM. You need to use the Spin IDE to compile or one of the alternate, open-source compilers. Some people (this site included I think) will only provide the binaries so that you can burn them, but their source code remains proprietary. If you have a binary then you can write it, but you can't modify it. Well you can, but this isn't the advanced class.

To get started:
  1. Get your hands on the dev board and probably a pedal, and download the spin ide.
  2. Get some program you're interested in, probably from here: https://mstratman.github.io/fv1-programs/ , and figure out how to compile it, burn the EPROM, and test it.
  3. Make some code changes and figure out what they do.
  4. Read the whole fv-1 datasheet, programming manual and examples on their site.
  5. Start writing your own programs for real.
If you don't want to spend the $100 on the dev board, and you are decent with a terminal, git, python and the such, there are other ways.
 
Thanks so much for the explanation! That's very helpful. What's the difference between the Spin IDE that toy mention and the FV1Dev program listed on the pedalpcb page for the dev board?
 
The official Spin development board is directly compatible with the Spin IDE software. This can be a little more convenient in terms of writing the algorithms onto the EEPROM as long as you are using a Windows PC. The Spin software is not compatible with Mac or Linux unless you run some form of virtual box.... To my knowledge no one has been successful running the official IDE using Wine.

On the other hand, the official development board isn't exactly "guitar ready" out of the box. You'll need some form of input buffers and any external circuitry you might want (Wet/Dry Mix circuit, analog volume control, etc).

The FV-1 Development pedal PCB offered here involves a couple extra steps to compile / upload the algorithm (and getting the drivers configured can be a little finnicky sometimes), but the tradeoff is that everything is contained in a 125B pedal, ready to go. Buffers, analog mix, and analog volume control in a familiar pedal format.
 
On the other hand, the official development board isn't exactly "guitar ready" out of the box.

This is very true. If you are 100% guitar + pedals, it won't be that easy to work with. Another limitation is the lack of a wet/dry mix, which is essential when tuning a program (like a reverb) in a realistic context. If you have a preamp with a line-level effects loop, you could use that. Alternately, a small mixer with an instrument input and an aux send is also perfect for testing delays and reverbs.

A fast feedback loop is essential for complex programs. Take the number of times you think you might need to tweak & test and multiply that by 100. When you're just getting started, your programs will also have a lot of confusing bugs. I work with the dev board patched into my studio patchbay, and I am sitting at the laptop and a keyboard. So I can hit "build" on the laptop and have a new program loaded and ready to play in seconds. I have a wide range of sounds on the keyboard so I can quickly hear how all kinds of different signals sound through the effect. I might change the program 50 times in a session. If something really weird is going on, then I will patch the outputs to an oscilloscope instead to debug the problem.

When I stop programing and find myself just enjoying playing through the effect, that is when it is done!
 
It's possible to take algo directly from Eeprom and maybe reverse engineering it just to study or mod some "famous" algo? For example the wet reverb algo from neunaber.

update
I opened the pedal (neunaber slate) and it is difficult to remove the eeprom without causing damage.
 

Attachments

  • WhatsApp Image 2021-08-30 at 17.41.31 (1).jpeg
    WhatsApp Image 2021-08-30 at 17.41.31 (1).jpeg
    434.2 KB · Views: 59
  • WhatsApp Image 2021-08-30 at 17.41.31.jpeg
    WhatsApp Image 2021-08-30 at 17.41.31.jpeg
    458.1 KB · Views: 55
  • WhatsApp Image 2021-08-30 at 17.41.32.jpeg
    WhatsApp Image 2021-08-30 at 17.41.32.jpeg
    307.5 KB · Views: 55
Last edited:
There is a disassembler available, which you can use to produce assembly code from a binary. But it's still quite a bit of effort to make sense of a disassembled program, as it does not have any variable names or comments.
 
It's possible to take algo directly from Eeprom and maybe reverse engineering it just to study or mod some "famous" algo? For example the wet reverb algo from neunaber.

update
I opened the pedal (neunaber slate) and it is difficult to remove the eeprom without causing damage.
@NickC haha I've been waiting to encounter a smd eeprom I wanna study. No idea if this would work but allow me to expose my ignorance.
1. insert double pin headers into a spare 8pin ic socket
2. attach aligator clips to ic socket legs
3. insert double pin headers into FV1 dev board eeprom socket
4. attach the other side of alligator clips to the FV1 dev board headers
5. press headers from step 1 onto the eeprom you're trying to rip data from

Hopefully someone has a better way of doing this 😁
 
in this case my pedal have a usb port which allows you to update the algorithms, so theoretically it could work in reverse and extrapolate the code.

i have never messed with fv1 so i don't know exactly what software / hardware to use to develop
 
The Spin software is not compatible with Mac or Linux unless you run some form of virtual box.
Do you mean run Windows in a VM, or Linux in a VM?
I am able to run SpinCad in Linux, but I am running Linux as a VM.
I had to install Java, and stroke the .jar executable bit, but it fires right up.
 
Do you mean run Windows in a VM, or Linux in a VM?

I mean SpinAsm, the actual Spin provided compiler (assembler). It will run in a Wine box on Linux/Mac but throws all sorts of errors when you attempt to compile. I haven't personally tried it in a VM, but it seems like I recall someone else did successfully.

As far as I know SpinCad should be compatible on any Java capable system.
 
  • Like
Reactions: fig
Ohhhhhhh! Yeah, SpinASM wouldn't work on Linux VM, Windows VM, or native MacOS. I have a Windows box coming. I hate Windows in a VM. It's been dodgy since XP was retired.
 
Last edited:
I came across this site before reading this thread... https://mstratman.github.io/fv1-programs/

Does anyone know if there are sound samples of all the algorithms there?

I was trying to find what pedals from the last 2-3 years currently use FV1 and there are some pretty nice ones:

Neunaber
Walrus Slö and Fathom
CBA MOOD
Pladask ELEKTRISK
Most Keeley reverbs

Some of these pedals seem pretty complicated but it would be awesome if any of the algorithms on the mstratman site come close. It's kind of hard to choose ones to get programmed into the EEPROM if you have no idea what they sound like.
 
  • Like
Reactions: fig
Not sure, but I'd think you would need permission to rip the program to another board.
 
An EEPROM can be re-written over and over again, so if you’re going for the programs from GitHub, just get the necessary hardware to burn the code onto the chips yourself, and try as many programs as you want
 
Not sure, but I'd think you would need permission to rip the program to another board.
I actually meant the algorithms on the Mstratman page. There are probably a few demoed on youtube but the majority will just be based on description. Maybe @Bricksnbeatles is on to something with his idea to get the stuff to write EEPROM. I would imagine pulling the code from some of the pedals would not just be drag and drop since they would have different knobs and switches assigned to the features. I have no idea how to mod the algorithms at this point. It might get to complicated to be worth the time...
 
  • Like
Reactions: fig
Sorry, I missed the github reference. I only noticed the references to Walrus, Keely, etc.
Of course open-source is just that. ;)

As soon as I get some time to build out the dev board, I'll post some of my experiences (good, bad, ugly) with the coding, config, etc. I'm not sure how helpful it will be to anyone but I'll do my best.
 
Back
Top