IT ☕ Buy me a coffee Open the app

Your Spark, from the browser.

Organise as many presets as you like, not just the eight that fit in the amp. Then switch to the live view and play them, with buttons big enough to hit in the dark. No account, no server: your library stays in your browser.

Spark 2 and Spark NEO Chrome or Edge Windows, Mac, Linux, Android Doesn’t work on iPhone and iPad Free and open source

What it does

Three things, all done in front of a switched-on amp.

The Spark 2 holds eight presets at a time, the Spark NEO four. Everything else — the sounds you built, the ones you only need for one song, the ones you’re still trying out — has nowhere to live. This is that place.

Organise

As many presets as you like, with name, categories, notes and sound family. It reads them from the amp, imports the official app’s preset_backup.zip, exports and re-imports as JSON.

Reading the library from the amp again never wipes your work: it recognises the presets and rewrites only the sound, leaving tags, notes and order untouched.

Play

A Live view made to be used while you play, not for cataloguing: banks of eight big buttons, and an LED to recognise the sound at a glance.

A preset already loaded on the amp switches on instantly; one that isn’t there is sent whole in about a second.

Tweak

An effects-chain editor that works on the sound that’s playing: you turn a knob and the amp answers.

Before opening it always reads the real state back from the amp, because if you touched a knob on the panel the truth is there, not in the library. Nothing is saved until you ask.

The live view, in two banks of four like the amp’s LEDs.

The app editor on a phone: the effects chain and the amp knobs

The app at work. Opens on YouTube.

Guide

Getting started

There’s nothing to install and nothing to sign up for. From a switched-on amp to your first organised library takes five minutes.

  1. Open the app and press «Connect»

    The browser asks which Bluetooth device to use: pick the Spark 2, or «Spark NEO Control» if you have the NEO. It must be on and not connected to the official app — one master at a time. If you can’t find it in the list, that’s the first thing to suspect.

  2. Let it read the slots

    As soon as it’s connected it starts reading the presets you loaded into the amp by itself. It takes a few seconds. They appear at the top, labelled A1…B4 with the colours of the panel’s LEDs: red for bank A, green for bank B. On the NEO there are four slots, CH1…CH4, and the app works out by itself which amp it’s talking to.

  3. Bring in everything else

    If you use the official app, export the preset_backup.zip from there and load it: your whole collection comes in at once. Otherwise the library grows as you go, with «Import current preset» every time you find something you like.

  4. Give things a name

    Categories for the style — the band, the song, the genre — and the family (clean, drive, acoustic) that becomes the colour you recognise the preset by without reading it. Notes are for what you discover by playing: which solo, which tuning, what to turn down when the room booms.

  5. Prepare the banks for the gig

    A bank is a set list: eight presets in the order you need them. The banks you make don’t touch the amp — the presets are loaded on the fly — so you can make as many as you like without the risk of overwriting the eight inside it.

  6. Install it, to have it without a network

    From the browser menu, «Install app» (or «Add to Home screen»). It becomes an icon, opens full screen and works offline: at a gig there’s no network, and it shouldn’t need one.

Before you start

Things to know

This project was born to solve a problem of mine and it works on my amp. The Spark 2 protocol isn’t documented anywhere: here it was reconstructed by observing, measuring and verifying on the hardware. Some things are worth knowing up front.

It doesn’t work on iPhone and iPad It needs Web Bluetooth, and on iOS every browser has to use Apple’s engine, which doesn’t have it. It’s not our choice and there’s no way around it. On Android, Windows, Mac and Linux, with Chrome or Edge, it works.
Writing to an amp slot can’t be undone Whatever was there before is lost. To try a preset without risking anything there’s the safe route, which plays it without touching the eight slots: it’s the one the app uses on its own.
The amp can freeze It happens with heavy commands, and then you have to unplug it. Nothing breaks, but if it happens in the middle of a song it’s a nuisance: better to find out at home than on stage.
The Jimi Hendrix pack effects stay silent They’re the Spark 2’s only paid content, and what unlocks them is a key the official app sends as soon as it connects. Connect the official app once and from then on they work, even after you’ve closed it. The app marks them with a JH badge, so you know before choosing one and not after hearing it silent.
The library lives in the browser No account and no server: none of your data leaves it. The flip side is that if you change browser or device it doesn’t follow you by itself. It exports to JSON, and for those who use it on several devices there’s a Dropbox sync — still with no server in between.
The Spark NEO works, with a few differences Reading the slots, the live view, the editor and the knobs are tested on the NEO. It has four slots instead of eight, and it’s slower at receiving: a preset that isn’t in a slot takes about two seconds instead of one. Not tested yet: writing to a slot and the Jimi Hendrix effects.
It has been tested on a single Spark 2 and a single Spark NEO Mine. With another unit, or another firmware, I don’t know what happens.

Build it yourself

The pedal

The live view, detached from the phone. An ESP32 takes the banks from the app over Bluetooth, keeps them in memory and then runs on its own: it connects to the Spark by itself and changes presets with your foot. And now it runs the looper too.

The pedal: dark wood, display showing the Rock Solos bank, four footswitches with LEDs and a fifth on the right

The pedal at work. Opens on YouTube.

It works with the Spark 2 and the Spark NEO: if either one is on, it recognises it and connects by itself. On the NEO changing preset is slower — a little over half a second against a fifth — but still usable.

Presets underfoot

Four footswitches for the sounds, the fifth to switch halves of the bank without touching what’s playing. A red or green LED shows which one is on, the display shows its name.

The bank buttons step through the amp’s own slots, which change instantly, and up to eight banks sent from the app, which stay in the pedal even with the power off.

The looper

The Spark 2’s looper with your feet: record and overdub, undo and redo, play, stop, clear. From 1 to 16 bars or free length, and tap tempo.

Before recording it counts in four beats with a click, an LED beats the tempo, and a ring on the display fills up bar by bar.

MIDI controller

Hold two footswitches together and it becomes a MIDI controller: Program Change for presets, Control Change for effects.

Over USB for a computer, over Bluetooth for an iPad (BIAS FX).

On battery

An 18650 cell inside the case: about 17 hours of use, measured. It plays while charging from its own USB-C socket, and the display shows how much charge is left.

The pedal with a bank: A3 is playing and the LED above the third footswitch is red
A bank: A3 playing, red LED for half A.
The pedal in the looper while recording: red LED on the first footswitch, the tempo LED lit and the bar ring on the display
The looper recording: the tempo LED beats, the ring fills up.

It’s built and it plays. The guide explains how to build one, piece by piece — parts, diagrams, assembly, firmware — and how to use it.

The pedal guide

The interesting part has been measured, and it isn’t bandwidth:

Loading a whole presetMeasured
from the phone, via Web Bluetooth1246 ms
from the ESP32, requesting a 7.5 ms interval326 ms
from the ESP32, once settled178–215 ms

The second the phone takes is sixteen round trips with the amp. Web Bluetooth doesn’t let you touch the connection interval; on the ESP32 you can, and that makes all the difference.

For developers

The Spark 2 protocol, documented

If you got here looking for how to talk to a Spark 2, this is probably the part you need. It’s all public, in the repository, with the raw captures and also the roads that turned out to be dead ends — so nobody walks them again. The protocol is documented in English too; the rest of the documentation is in Italian.

The code on GitHub The protocol, in full

Just open it.

Nothing to install, nothing to sign up for, nothing to pay.

Open the app

SparklingTones is free and will stay free: no ads, no account. I write it in my spare time; if it’s useful to you, a coffee helps me keep going.

☕ Buy me a coffee