Jump to content

Using the Sandbox FV-1 Editor

From Sandbox Pedal Wiki
Revision as of 23:53, 23 August 2026 by Matthew (talk | contribs) (Add how-to guide)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The Sandbox FV-1 Editor is a browser-based code editor, assembler and simulator for the Spin FV-1. Nothing is installed and nothing is uploaded — the assembler runs entirely in your browser.

Open it at fv1.sandboxpedal.com.

Browser requirements[edit | edit source]

What you want to do Browser
Write and assemble code Any modern browser
Run the simulator Any browser with AudioWorklet support
Save straight to hardware, or use a project folder Chrome or Edge only

Firefox and Safari do not implement the File System Access API, so they cannot write files to your pedal's drive. You can still assemble and download a HEX file by hand and copy it across yourself.

If Chrome refuses to talk to your hardware, see Troubleshooting for the site permission settings.

The layout[edit | edit source]

The main window has a Source Input pane with the code editor and a Build Results pane underneath showing the assembled Intel HEX output. Three tabs along the edge open flyout panels:

  • OPTIONS — editor preferences and hardware setup.
  • HELP — the FV-1 instruction set reference.
  • SIM — the built-in simulator.

Assembling code[edit | edit source]

Write or load your source, then press Assemble (or Alt+A on Windows, Ctrl+A on Mac).

Warnings and errors appear in the message area with the line number. The FV-1 has a hard limit of 128 instructions; anything shorter is padded out with NOPs automatically, so you do not need to fill the space yourself.

Once a build succeeds you can save it in several formats:

  • Download HEX — Intel HEX, the format the programmer wants.
  • Download Binary — raw .bin.
  • Download C Headers — the program as a C array, for embedding in other firmware.
  • Save Source… — your assembly source.

Load File… opens a source file from disk, and also offers four built-in examples: Pass-through, Delay, Chorus and Tremolo. These are a good starting point if you want something working in front of you before you start editing.

Sending a build to the pedal[edit | edit source]

This is the part that needs Chrome or Edge.

  1. Open the OPTIONS panel.
  2. Under Hardware Options, press Select Output Directory and choose your pedal's SANDBOX-FV1 drive.
  3. Pick a destination from the Filename / Toggle Position grid. The buttons are labelled by physical switch position — ▲ is switch up, ● is middle, ▼ is down — with the slot number in the middle.
  4. Assemble, then press Download to Hardware (Alt+D / Ctrl+D).

The editor writes the HEX file into the drive under the right filename, the programmer picks it up, and the FV-1 reloads. See Programming an EEPROM with HEX files for what happens at the hardware end.

Download to Hardware stays greyed out until all three of a directory, a filename and a successful build are in place.

Clear Hardware (Alt+C / Ctrl+C) writes empty files over 0.hex through 7.hex, all.hex and dump.txt, wiping the slots. It only touches files that currently have content.

Working from a project folder[edit | edit source]

Select Project Folder in the Editor Options section points the editor at a directory of source files, so you can move between the files of a multi-program project without opening each one through a file dialog.

Editor options[edit | edit source]

  • Large editor window — a taller code pane.
  • Show editor mini-map — the Monaco overview strip down the right-hand side.
  • Show full build results — verbose assembler output rather than just errors. Useful when you are debugging an instruction encoding.
  • Theme — System, Light or Dark.

These preferences persist between sessions.

Keyboard shortcuts[edit | edit source]

Action Windows Mac
Find Ctrl+F ⌘+F
Replace Ctrl+Shift+F ⌘+⌥+F
Find next F3 F3
Assemble Alt+A ⌃+A
Download to Hardware Alt+D ⌃+D
Clear Hardware Alt+C ⌃+C

Running the editor locally[edit | edit source]

The web app must be served over HTTP. Opening Assembler/index.html as a file:// page will not work — browsers block the audio engine the simulator needs from file:// origins, and the directory and serial access need a secure context. localhost counts as secure, so any static file server will do:

python3 -m http.server 8000 --directory Assembler

Then open http://localhost:8000. If you prefer Node, npx serve Assembler works the same way.

See also[edit | edit source]