Designing the Atom Smasher Spin FV1 Pedal

Image credit: the wonderful Simon Provencher

TL;DR

Since making the Atom Smasher public, I’m now getting a moderate stream of people asking me about digital pedals and how to make them, both from a hobbyist/DIY point of view and presumably with a view to start boutique pedal shops. I figured I should write up some thoughts since people seem interested and because I’ve found I’ve been repeating a lot of the same information, links and advice.

Okay, so let’s start off with a few bits of info to set the scene.

So. That’s the path.

Why do it?

Really? Pedals are cool. I’ve spent my whole adult life playing guitar and obsessing over effects and it’s only natural to want to both know how they work and contribute my own tiny little ripple to the great Gear Ocean. One of my many gigs is writing for Total Guitar (and Music Radar online) and this has had a nice synergy with that too — I can now attack a lot of gear with a screwdriver and get a pretty good idea of what’s going on inside. The pedals have definitely led to a lot more work in that area, and since that’s basically been my dream job since I was about thirteen years old, that’s already a pretty sweet outcome.

The real catalyst though was when on a whim I started a video blog/YouTube channel where I started demoing a bunch of the pedals I’d collected over the years. Although it hardly exploded in popularity, I soon realised I wasn’t mega interested in just demoing other peoples’ stuff, but was rather more interested in making it myself.

How much work was it?

Probably comparable to writing a university dissertation a couple of times over. I’d estimate that between May 2016 and June 2017 I was putting in between 5 and 20 hours a week in on the pedals, depending on how much writing/band/label stuff I had to do that week around the day job. I haven’t slept much.

That said, if I just had a day job and no other responsibilities, plus maybe a few more weekends, I reckon you could get there quicker than I did.

How do you go about making a digital delay?

This is kind of a big question, so I’m going to split it down into a couple of bits about the process and chip I used, the Spin FV1. I’ll add some resources that might help you work out how to do it yourself as well.

The FV1 is used in a bunch of hobbyist digital pedals as well as commercial boutique pedals. A lot of Keeley’s line is powered by it; the Earthquaker Rainbow Machine is rocking it; the Old Blood Noise Endeavours pedals use it; the Red Panda Particle is based on it, and so on…

Hardware

Okay, so the FV1 is an SMD device which means that it’s a bastard to solder. If you’re inexperienced then maybe you want to design some other pedals first. I’d made a lot of pedals and sold a run of fuzzes before I got to this point and even I fucked up the FV1 soldering on the first try. Luckily it’s relatively forgiving, and as long as you’re gentle and keep calm you won’t damage the chip by reflowing the connections.

The best thread on this pedal is probably this implementation by Ice9 on DIYSB. The whole thread is packed with gold and loads and loads of good advice on how to make a pedal using the chip. Add to that the FV1 Datasheet on this page and you’ll start to see how it all comes together. There’s also loads of advice on the Spin Forums on hardware implementation and how to for example use a three-way toggle to switch programs.

Code

The FV1 uses a dialect of Assembly called SpinASM. You can write it in a text editor and compile it using a program that SpinSemi provide (more on that later). However, if you’re looking to create more standard effects (chorus, phaser, reverb) for example, you might find that Digital Larry’s brilliant SpinCAD has what you need built in. In fact, I’d hazard a guess and say there’s probably a fair few commercial boutique pedals whose code was generated by SpinCAD rather than hand-written. For mucking around with reverb blocks and pre- and post-processing, I’ve found it to be lots of fun and the glitch and pitch reverbs in the Atom Smasher were made using it. It’s cool.

If you want to scale the heights of writing your own code, then there’s lots of examples and help to be had over on the Spin Forums and there’s some ace guides in the FV1 manual, as well as some useful supporting materials like this primer on LFOs in the FV1.

In the main docs you’ll find a bunch of examples of code, syntax et cetera, and on the Spin site there’s a handy cheat sheet for the ASM syntax, as well as a series of example programs that you can compile, run and modify. On the Spin forums there’s a lot of code snippets floating around and people that will critique your code or point you in the right direction of an example implementation of the effect you’re going for.

Workflow

To put code on the chip, and bridge between the two worlds, you need to download the SpinAsm assembly program — it’s on that page under the devboard ‘software’ heading. It will only run on Windows, so if you’re on a Mac you’re going to have to borrow somebody’s PC. I write my code in Sublime Text on the Mac (or use SpinCAD, depending on what I’m doing), then put that on my wife’s Windows laptop and paste the code into the SpinASM program and build it from there.

Some projects like the DIYSB project from Ice9 allow you to flash the chip in place in the actual pedal, but I use the Spin Dev board as it can be connected easily to the computer by USB and for me, is worth the money to reduce the hassle of mucking around with the board in the pedal. The PCBs I designed allow for flashing on the board (in fact, using Ice9’s method in the same way) but in reality I’ve never found myself going that route.

What I’ve learned

Whoa. Where do you start? I’ll go with a few obvious ones though, besides the ‘learned electronics’ and ‘learned assembly’ which should be self-evident.

Conclusion

So obviously if I was still 21 years old, this would be a life-changing thing; for now it’s just an interesting project that I’m glad I’ve undertaken and I’m glad has given some people some joy. Hopefully as I ship these, they will bring happiness to a few more people.

Maybe at some point I will release the schematics and files for this project, I don’t know; if I do, I’ll post it somewhere obvious, to save my inbox. Haven’t really decided where this is going yet, but at this point it’s somewhat outgrown a hobby side-project.

Links

Columnist for @progmagazineuk, gear reviews for @totalguitar @musicradar @guitarworld. Ruby/Clojure dev, label guy (@ssdrecords), Jedi.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store