# SQRL-1 licensing SQRL-1 is a modified version of Felucca, and like Felucca it is free software under the GNU General Public License, version 3 only (`GPL-3.0-only`, full text in `LICENSE`). Felucca is copyright (C) 2026 Leo Kuroshita (@kurogedelic), Hügelton Instruments; SQRL-1's changes are copyright (C) 2026 hed0rah. Some files keep their own, GPL-compatible licences (MIT, Apache-2.0, BSD-3-Clause); the firmware built from them is GPL-3.0-only as a whole, and their licence texts are in `LICENSES/`. You may use, study, change and share SQRL-1 under the GPL. If you distribute it, or firmware derived from it, you must also give your recipients its complete corresponding source under the same licence. That includes devices that ship with it inside. ## Every source file Each source file states its licence in an `SPDX-License-Identifier` line at its top; that line is the authority. The table below is generated from those lines, so it cannot drift from them, and `tools/gen_licensing.py --check` fails a build where a file has no SPDX line or the table is out of date. Generated by `tools/gen_licensing.py` from the files' SPDX headers: 242 source files are GPL-3.0-only, and these 53 carry another licence. | File | Licence | Copyright | | --- | --- | --- | | `firmware/src/canon.c` | MIT | 2026 hed0rah | | `firmware/src/chordplay.h` | MIT | 2026 hed0rah | | `firmware/src/chordprog.h` | MIT | 2026 hed0rah | | `firmware/src/eng_mouth.c` | MIT | 2026 hed0rah | | `firmware/src/eng_organ.c` | MIT | 2026 hed0rah | | `firmware/src/eng_shock.c` | MIT | 2026 hed0rah | | `firmware/src/eng_syllable.c` | MIT | 2026 hed0rah | | `firmware/src/eng_talk.c` | MIT | 2026 hed0rah | | `firmware/src/eng_voder.c` | MIT | 2026 hed0rah | | `firmware/src/enigma.c` | MIT | 2026 hed0rah | | `firmware/src/ensemble.c` | MIT | 2026 hed0rah | | `firmware/src/ensemble.h` | MIT | 2026 hed0rah | | `firmware/src/filter.c` | MIT | 2026 hed0rah | | `firmware/src/filter.h` | MIT | 2026 hed0rah | | `firmware/src/fm6_core.c` | Apache-2.0 | 2012 Google Inc. | | `firmware/src/grids_map.h` | GPL-3.0-or-later | 2012 Emilie Gillet | | `firmware/src/harp.c` | MIT | 2026 hed0rah | | `firmware/src/lpc5220.c` | MIT AND BSD-3-Clause | 2026 hed0rah | | `firmware/src/lpc5220.h` | MIT | 2026 hed0rah | | `firmware/src/lts.c` | MIT | 2026 hed0rah | | `firmware/src/lts.h` | MIT | 2026 hed0rah | | `firmware/src/lzshape.c` | MIT | 2026 hed0rah | | `firmware/src/lzshape.h` | MIT | 2026 hed0rah | | `firmware/src/mouth.c` | MIT | 2026 hed0rah | | `firmware/src/mouth.h` | MIT | 2026 hed0rah | | `firmware/src/mouth_face.h` | MIT | 2026 hed0rah | | `firmware/src/note_engine.h` | MIT | 2026 hed0rah | | `firmware/src/organ.c` | MIT | 2026 hed0rah | | `firmware/src/organ.h` | MIT | 2026 hed0rah | | `firmware/src/organ_table.h` | MIT | 2026 hed0rah | | `firmware/src/phys_dsp.c` | MIT | 2020 Electrosmith, Corp, Emilie Gillet | | `firmware/src/phys_symp.c` | MIT | 2015 Emilie Gillet | | `firmware/src/resonator.c` | MIT | 2026 hed0rah | | `firmware/src/resonator.h` | MIT | 2026 hed0rah | | `firmware/src/rotary.c` | MIT | 2026 hed0rah | | `firmware/src/rotary.h` | MIT | 2026 hed0rah | | `firmware/src/shock.c` | MIT | 2026 hed0rah | | `firmware/src/shock.h` | MIT | 2026 hed0rah | | `firmware/src/shock_table.h` | MIT | 2026 hed0rah | | `firmware/src/snh.c` | MIT | 2026 hed0rah | | `firmware/src/syllable.c` | MIT | 2026 hed0rah | | `firmware/src/syllable.h` | MIT | 2026 hed0rah | | `firmware/src/tapedly.c` | MIT | 2026 hed0rah | | `firmware/src/tapedly.h` | MIT | 2026 hed0rah | | `firmware/src/tapeloop.c` | MIT | 2026 hed0rah | | `firmware/src/tapeloop.h` | MIT | 2026 hed0rah | | `firmware/src/tonnetz.c` | MIT | 2026 hed0rah | | `firmware/src/voder.c` | MIT | 2026 hed0rah | | `firmware/src/voder.h` | MIT | 2026 hed0rah | | `firmware/src/vowel.c` | MIT | 2026 hed0rah | | `firmware/src/vowel.h` | MIT | 2026 hed0rah | | `tests/filter_test.c` | MIT | 2026 hed0rah | | `tools/make_shock_table.py` | MIT | 2026 hed0rah | ## Hügelton Instruments' own work All by Hügelton Instruments (Leo Kuroshita), in this tree: | What | Licence | Where | | --- | --- | --- | | Felucca: firmware, tools, web pages, tests | GPL-3.0-only | `LICENSE` | | The PHASE engine's waveforms: a C port of the oscillator of CrispyZebra () | GPL-3.0 | `firmware/src/eng_phase.c` | | The DRUM voices and kit | GPL-3.0-only | `firmware/src/drum_voice.c`, `firmware/src/eng_drum.c` | | The Hügelton Sample Pack: Felucca's drum sounds, made by `tools/gen_waves.py`, from which the SLICE engine's BREAK is built (not CC0) | GPL-3.0-only | `tools/gen_waves.py` | | The Fukiai icon font (): the firmware's icons (rasterised at build time by `tools/gen_aa_icons.py`) and the web editor's | MIT | `web/fukiai.ttf`, `LICENSES/MIT-Fukiai.txt`, `web/FUKIAI-LICENSE.txt` | ## Third-party material | What | Licence | Where | | --- | --- | --- | | Inter Tight font by The Inter Project Authors: the UI text, rasterised into the firmware at build time (`tools/gen_aa_font.py`; the generated tables are not offered as a font, and the font declares no Reserved Font Name) | SIL OFL 1.1 | `assets/fonts/InterTight[wght].ttf`, `LICENSES/OFL-InterTight.txt` (also `assets/fonts/OFL.txt`); the quick sheet's text, served with its page (cut to the characters it uses): `web/sheet/fonts/InterTight-subset.woff` (also `web/sheet/fonts/OFL.txt`) | | Instrument samples (Versilian Studios VSCO-2 Community Edition, VCSL): the SAMPLE sets, also the SLICE engine's PIANO (the PIANO set's middle C) | CC0 1.0 | `assets/samples-cc0/`, provenance in `ATTRIBUTION.txt` there | | DaisySP by Electrosmith, Corp and Emilie Gillet (): the PHYS engine's modal and string models and the resonator, ported to fixed point | MIT | `firmware/src/phys_dsp.c`, `LICENSES/MIT-DaisySP.txt` | | Rings by Emilie Gillet (): the PHYS engine's sympathetic strings, ported to fixed point | MIT | `firmware/src/phys_symp.c`, `LICENSES/MIT-Rings.txt` | | Grids by Emilie Gillet (): RUDIMENT's MAP, Grids' drum map (its 25 nodes as they are) and the way it reads them | GPL-3.0-or-later, used under GPL-3.0 | `firmware/src/grids_map.h`, `firmware/src/seq.c` (map_level, map_hit) | | msfa by Google Inc. and Pascal Gauthier, from Dexed (): the FM6 engine's synthesis, ported to integer C (Dexed itself is GPL-3.0; only msfa is used; the FM6 factory patches are Felucca's own) | Apache-2.0 | `firmware/src/fm6_core.c`, `LICENSES/Apache-2.0-msfa.txt` | | klattsch by Tony Gies (): design reference for the VOICE engine; no code copied. Formant data from Klatt (1980) / Hillenbrand et al. (1995) | MIT (klattsch) | credit only | | X0X by charlesvestal (), a Felucca fork: the design of the browser emulator (the worklet, the device clock driven by its audio, the exports); its files credit it in their headers | GPL-3.0 | `web/emu/` | | DotGothic16 font by The DotGothic16 Project Authors (): the browser emulator's knob labels, served with its page (cut to printable ASCII; the font declares no Reserved Font Name) | SIL OFL 1.1 | `web/emu/fonts/DotGothic16-subset.woff`, `LICENSES/OFL-DotGothic16.txt` (also `web/emu/fonts/OFL.txt`) | | DejaVu Sans Mono font (), from Bitstream Vera: the quick sheet's labels, served with its page (cut to the characters it uses, under its own name) | Bitstream Vera licence; DejaVu's changes public domain | `web/sheet/fonts/DejaVuSansMono-subset.woff`, `web/sheet/fonts/DejaVuSansMono-Bold-subset.woff`, `LICENSES/Bitstream-Vera-DejaVu.txt` (also `web/sheet/fonts/LICENSE-DejaVu.txt`) | | JieLi AC79 SDK by JieLi Technology: three of its files go into every `.fwsc` package (below); none are in this tree | Apache-2.0 | `LICENSES/Apache-2.0.txt` | On the device, ABOUT (the fourth tap of GLO) names the firmware, its base and the main licences, and LEGAL, the page after it, carries the copyright and licence notices. The full list, with every notice a licence asks for, is the manual's credits page: `docs/credits.md` in this repository, and databurn.org/sqrl/manual/credits.html. ## SQRL-1's additions (hed0rah, databurn) SQRL-1 is hed0rah's fork of Felucca. Its shell and the parts below are in this tree; the table above lists every file with its licence. | What | Licence | Where | | --- | --- | --- | | The shell, the LIZARD engine and the manual's generator | GPL-3.0-only (Copyright (C) 2026 hed0rah) | `firmware/src/shell.c`, `eng_lizard.c`, `lizard.c`, `lizard.h`, `div64.c`, `tests/shell_test.c`, `tests/doc_dump.c`, `tools/gen_docs.py` | | databurn's speech engines: TALK (a TMS5220 voice), SYLLABLE (consonant-vowel syllables), VODER (Dudley's Voder) | MIT (Copyright (c) 2026 hed0rah) | `lpc5220.c`, `lpc5220.h`, `eng_talk.c`, `syllable.c`, `syllable.h`, `eng_syllable.c`, `voder.c`, `voder.h`, `eng_voder.c`, `LICENSES/MIT-databurn.txt` | | The TMS5220's tables and generator in `lpc5220.c`, from MAME's tms5110r.hxx and tms5220.cpp by Frank Palazzolo, Aaron Giles, Jonathan Gevaryahu, Raphael Nabet, Couriersud and Michael Zapf. The manual prints the notice whenever TALK is in the build | BSD-3-Clause | `firmware/src/lpc5220.c`, `LICENSES/BSD-3-Clause-MAME.txt` | | databurn's sound engines: SHOCK (shock-wave phase distortion) and ORGAN (tonewheel drawbars) | MIT (Copyright (c) 2026 hed0rah) | `shock.c`, `shock.h`, `shock_table.h`, `eng_shock.c`, `tools/make_shock_table.py`, `organ.c`, `organ.h`, `organ_table.h`, `eng_organ.c`, `LICENSES/MIT-databurn.txt` | | databurn's NOTE engines and CHORD's playing: TONNETZ, ENIGMA, HARP, S+H, CANON, CHORD PLAY, PROG | MIT (Copyright (c) 2026 hed0rah) | `note_engine.h`, `tonnetz.c`, `enigma.c`, `harp.c`, `snh.c`, `canon.c`, `chordplay.h`, `chordprog.h`, `LICENSES/MIT-databurn.txt` | | databurn's effects: the tape echo and the reverb pre-delay, the chorus's ensemble and dimension modes, the rotating speaker | MIT (Copyright (c) 2026 hed0rah) | `tapedly.c`, `tapedly.h`, `ensemble.c`, `ensemble.h`, `rotary.c`, `rotary.h`, `LICENSES/MIT-databurn.txt` | | databurn's SHAPE stage (lzshape): LIZARD's drawn unison and WARP, every engine's FOLD SYM CRUSH DOWN | MIT (Copyright (c) 2026 hed0rah) | `lzshape.c`, `lzshape.h`, `LICENSES/MIT-databurn.txt` | | SCALE's Braids / Yarns scales by Emilie Gillet (): the 21 names and masks after Felucca's 16, shell build only | MIT | `firmware/src/params.c`, `firmware/src/seq.c`, `LICENSES/MIT-Rings.txt` (the same eurorack licence) | | TALK's word banks | none in this repository: TALK is left out of the build (`FELUCCA_TALK`, `core.h`) until there are banks cleared for distribution | - | | The art: the acidcat mascot (Nibs), the databurn wordmark and the SQRL-1 squirrel, mark and lockup, as the splash, ABOUT, the wheel's centre, Nibs's screens, the manual and the site's social card draw them | CC-BY-SA-4.0 (Copyright (C) 2026 hed0rah); the names are not licensed as trademarks (see Trademarks) | `assets/brand/`, `docs/src/sqrl-mark.svg`, `LICENSES/CC-BY-SA-4.0.txt` | ## JieLi SDK files in the packages (Apache-2.0) A `.fwsc` package made by `tools/build.py` (with `tools/fm1pkg_make.py`; this is the package the web installer installs) holds three unmodified files from the JieLi AC79 SDK (, `cpu/wl82/tools/`). They are read from your SDK checkout at build time (see BUILDING.md); no SDK files are in this tree. | File in the package | What it is | | --- | --- | | `uboot.boot` | the first-stage boot loader (SPL) | | `cfg_tool.bin` | the chip configuration block | | `eq_cfg_hw.bin` | the default hardware EQ table | They are licensed under the Apache License, Version 2.0 (`LICENSES/Apache-2.0.txt`), not under the GPL, and their copyright stays with JieLi Technology. The SDK has no NOTICE file. Apache-2.0 files may be distributed together with GPL-3.0 code; Felucca itself stays GPL-3.0-only. Every distribution of a package carries the licence texts with it: the release folder (`tools/build.py --release`) and the site (`web/make_site.py`, next to the package in `firmware/` and linked from the installer page). ## No vendor material No M-VAVE material is part of SQRL-1 or of Felucca. The firmware links no vendor code and contains no vendor data, and the packages hold only the firmware and the three SDK files above. The installer's "Return to official V15" holds only the official file's size and SHA-256: you select the official firmware file you downloaded yourself, and it is checked and installed in your browser, never uploaded or redistributed. ## Trademarks "SQRL-1", "databurn" and "Nibs" are hed0rah's names. Under section 7(e) of the GPL, no licence here grants rights to them, or to their marks, as trademarks: the art's CC-BY-SA-4.0 covers the pictures, not the names. A modified build may say it is based on SQRL-1, but not call itself SQRL-1. "Felucca" and "Hügelton Instruments" are names of Hügelton Instruments. SQRL-1 is built on Felucca and credits it; it is not affiliated with, endorsed by or supported by Hügelton Instruments. "M-VAVE" and "FM-1" are trademarks of their respective owners. SQRL-1 is independent firmware that runs on FM-1 hardware. It is not affiliated with, endorsed by or supported by those owners. ## Radio SQRL-1, like Felucca, never enables the Bluetooth / Wi-Fi radio of the hardware.