FingersonicLab
← Community Firmware

Fingersonic Keys / COMMUNITY FIRMWARE

Neon Orbit - Arpeggiator & FM Synth

Turn held notes into moving arpeggios: 10 patterns, 10 FM sounds, 1-8 range settings and sound-reactive lights. A self-contained, open-source instrument for Fingersonic Keys. Device-tested by the maintainer.

by goodday0.1.0Updated Oct 21, 2026↓ 1 downloads
Neon Orbit - Arpeggiator & FM Synth

About This Firmware

Hold a few notes. Let them orbit.

Neon Orbit turns Fingersonic Keys into a self-contained arpeggiator and FM synthesizer. Hold a note or chord, then shape its rhythm, sound and range with the two encoders. Glassy plucks, electronic kalimba, metallic bells and elastic bass meet moving light trails that follow the generated notes.

Version 0.1.0 is device-tested by the maintainer, confirmed on October 21, 2026. The publication build and all 28 host tests also pass.

A compact instrument with room to move

  • 10 rhythmic patterns covering ascending, descending, bouncing, outside-in, syncopated, Euclidean, repeated-note and random motion.
  • 10 FM presets with velocity response, smooth volume, stereo cross-echo and soft limiting.
  • 30-300 BPM, adjusted in 2 BPM steps by holding and turning the left knob.
  • 1-8 octave-range settings, with candidate notes bounded to A0-C8. The default range makes one C3 alternate between C3 and C4.
  • Sound-reactive LEDs with a bright primary note, a colored octave partner, moving trails and short ripples.
  • Direct synthesis, so no SF2 bank download or PSRAM is required for this firmware.

The arpeggiator plays one gated note at a time. Eight synthesis slots let decaying tails overlap; the 88-note range is a candidate pitch range, not simultaneous 88-note polyphony.

Ten patterns to explore

Pattern Feel
Neon Up Ascending eighth notes
Down Drive Descending sixteenth notes
Mirror Sync Up/down bounce with syncopation
Wide Steps Alternating low and high notes
Tresillo Ascending 6+6+4 rhythmic spacing
Offbeat Descending offbeat pulses
Euclid 5 Five triggers per sixteen steps
Euclid 7 Seven triggers with outside-in pitch order
Triple Burst Three fast repetitions, then a rest and next pitch
Random Orbit Random notes without immediate repeats when several candidates are available

Ten synthesized voices

Glass Pluck, Neon Kalimba, Copper Bell, Rubber Bass, Acid Spark, Digital Koto, Crystal Marimba, Velvet Synth, Laser Droplet and Dream Harp.

Each voice combines FM modulation, envelopes, harmonics and optional sub-octave energy. Preset changes affect new notes while existing release tails finish with their previous envelope. Audio runs at 44.1 kHz, signed 16-bit stereo.

Lights with musical purpose

Held notes retain a dim base glow. Generated notes produce a near-white primary flash and a saturated same-name note in the other physical octave. Expanded notes fold back to the appropriate pitch class. A small moving trail links note positions, while a brief ripple reaches neighboring LEDs.

Pattern feedback is cyan, sound feedback purple, tempo amber, volume green and octave range blue. Playing cues take priority over parameter feedback. The LED renderer runs outside the audio task at 50 fps.

Open source, focused scope

The independent Neon Orbit project is available under the MIT license, with source, build instructions, tests and release checksums on GitHub. The official Fingersonic Keys application, App1 uploader and factory bootloader remain outside this repository.

This firmware does not include USB/BLE MIDI, loops, the official chord mode, transposition, pitch bend or official app control. Settings reset at power-on. It does not mount LittleFS or replace your existing sound bank. Power, charging and battery-level management are provided by the independent hardware chip.

Neon Orbit generates sound algorithmically. If you modify it into a sample-based instrument, keep sample banks in SF2: the installed App1 uploader supports only executable BIN firmware and SF2 banks.

Cover artwork is an AI-generated illustration of rhythmic light and orbital motion, not a product photograph. A software-rendered audio preview is provided with the GitHub release; it is not a recording of the device speaker.

Installation & Controls

Start playing

Hold one or more keys to start. Release all keys to stop new notes; short synth and echo tails may continue. There is no latch. The physical 24-key range is MIDI notes 48-71.

Control Action
Turn left knob Cycle through 10 rhythm patterns
Hold left knob and turn Adjust tempo by 2 BPM, from 30 to 300 BPM
Short-click right knob Toggle sound-selection and volume modes
Turn right knob Change sound or volume in the selected mode
Hold right knob and turn Adjust octave-range setting from 1 to 8
Keep Key0 held and short-click the left knob five times within one second Amber indication, then entry to the existing App1 uploader

Startup defaults: 120 BPM, range 2, sound-selection mode. Holding and turning the right knob changes range without toggling the current sound/volume mode on release. A standalone left-knob click has no other action.

Pattern changes restart the 16-step cycle. Tempo and range changes preserve beat phase. Range expansion merges duplicate pitches, retains the held notes and stays within A0-C8. Releasing all keys stops the arpeggiator.

Install the App0 image

  1. Download neon-orbit-v0.1.0.bin and compare its SHA-256 with the GitHub release manifest. The file must be an application BIN for Fingersonic Keys, not a ZIP, ELF, bootloader, partition-table or merged image.
  2. From working official Keys firmware, hold the leftmost key, Key0, and quickly press the left knob five times to enter App1.
  3. Follow the official Keys updater's instructions to connect your computer to the device hotspot.
  4. Upload the application BIN through the existing App1 upload interface. For example, on Windows:
curl.exe --fail --show-error -F "file=@C:\path\to\neon-orbit-v0.1.0.bin" http://192.168.4.1/upload
  1. Keep power stable, allow the upload to finish and let the instrument restart. Do not use a normal full-device Arduino upload, erase the device or change eFuses.

Only App0 is replaced. Neon Orbit does not mount, format or rewrite the existing LittleFS sound-bank partition. No SF2 bank is needed for this algorithmic synthesizer.

Enter App1 from Neon Orbit

Keep Key0 pressed throughout and make five short left-knob clicks within one second. Holding/turning the left knob for tempo adjustment does not count as recovery clicks. Releasing Key0, turning the left knob or making a long press cancels the sequence.

Amber indicates pending recovery. If App1 is missing, its address/size is wrong or selecting it fails, red feedback appears and the application stays running rather than blindly restarting.

Recovery by production date

  • Before January 1, 2027: App1 entry depends on working App0 firmware. If experimental firmware fails to boot or its recovery gesture becomes unavailable, the normal user recovery route may be lost and the device may be bricked. Install at your own risk.
  • On or after January 1, 2027, with the recovery bootloader: hold the right knob while powering on for at least 0.5 seconds to enter App1 even if App0 cannot run. The bootloader, partition table and App1 must still be intact. This is not ESP32-S3 ROM download mode.

Once in App1, use the official Keys updater to restore the official application. Restore a sound bank separately only if you changed it elsewhere.

Validation before regular use

The maintainer confirmed on-device testing on October 21, 2026. Compilation and all 28 host tests have also passed. Detailed timing and CPU-headroom measurements were not supplied. On your own unit, start at low volume, check the key/encoder/LED behavior and confirm App1 recovery before relying on the release for a performance.

Versions & Release Notes

0.1.0 Latest

Oct 21, 2026 · 323.2 KB · Manual upload

Download .bin ↓

Initial 0.1.0 release: ten arpeggiator patterns, ten FM presets, 30-300 BPM tempo, 1-8 range settings, velocity response, note-reactive lighting, stereo cross-echo and dedicated App1 recovery. Maintainer-confirmed device testing; 28 host tests pass.

Comments

0 comments

No comments yet.