- C++ 72.8%
- SystemVerilog 18.5%
- Shell 3%
- Starlark 2.8%
- HTML 1.2%
- Other 1.6%
A B3's drawbars run brown brown white white black white black black white; the logo, favicon, touch icon and header had 2⅔ white. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| docs | ||
| dsp | ||
| hps | ||
| icon | ||
| patches | ||
| platforms | ||
| rtl | ||
| sim | ||
| site | ||
| third_party | ||
| tools | ||
| ui | ||
| .bazelignore | ||
| .bazelrc | ||
| .bazelversion | ||
| .gitignore | ||
| BUILD.bazel | ||
| CLAUDE.md | ||
| clonewheel.env.example | ||
| LICENSE | ||
| MODULE.bazel | ||
| MODULE.bazel.lock | ||
| README.md | ||
Stagewheel
Stagewheel is an open-source stage keyboard: a Hammond B3 tonewheel organ with a Leslie 122 rotary speaker, computed sample by sample in the FPGA fabric of a Terasic DE10-Nano. It is built to be played live, so it puts low, steady latency and glitch-free audio ahead of everything else. Electric piano and other keyboards are on the way.
The repository, its build targets and its programs still use the working name
clonewheel (cw_sim, clonewheeld, clonewheel.rbf).
Get it
git clone https://forge.djehuti.com/bcox/clonewheel.git clonewheel
cd clonewheel
You need Bazelisk (it fetches the pinned Bazel and a hermetic clang); the simulator also needs ALSA on Linux.
Try it on a laptop
bazel run //sim:cw_sim
Two windows open: the instrument's 800x480 screen and a virtual front panel.
Play notes on Q W E R T Y ..., or connect a MIDI keyboard to the ALSA port
clonewheel. Key map and options: docs/sim.md.
Test it
bazel test //...
Put it on the board
Build the bitstream (Quartus Prime 17.0.2 Lite) and the SD card image (podman and Buildroot), then flash it:
rtl/de10nano/build.sh
hps/image/build.sh
sudo dd if=hps/image/out/images/sdcard.img of=/dev/sdX bs=4M conv=fsync
What to plug in and what to do when it does not work: docs/board.md.
More
Everything else (design, hardware, tuning notes, references) is listed in docs/index.md.
License
CC0 1.0: public domain, as far as the law allows. Third-party components keep their own licenses; see third_party/NOTICES.md.