DaisyOnline is a browser-based integrated development environment (IDE) for writing digital signal processing (DSP) programs for the Daisy hardware platform.
It enables real-time audio synthesis and effects development directly in your web browser, and browser-based deployment to Daisy hardware.
- Browser-based C++ DSP development - Write audio processing code using familiar C++ syntax
- Real-time audio preview - Audition your DSP algorithms instantly using Web Audio API
- Client-side compilation - Powered by wasm-clang and wamrc — no server-side build required
- One-click hardware deployment - Flash compiled DSP modules directly to Daisy devices via WebUSB
- Monaco Editor - Professional code editing with syntax highlighting, IntelliSense-like features, and bracket matching
- LocalStorage persistence - Your code is saved in your browser and persists between sessions
- WebAssembly Micro Runtime (WAMR) - Runs your DSP code efficiently on Daisy's ARM Cortex-M7 processor
- Write C++ DSP Code - Implement
init()andprocessSample()functions in the browser editor - Preview in Browser - Compile to WebAssembly and preview audio using Web Audio API
- Deploy to Hardware - Compile to AOT binary and flash to Daisy via USB for standalone operation
Visit https://jaffco.github.io/DaisyOnline - No setup required! Just open your browser and start coding C++ DSP.
- Clone this repository
- Start the development server:
npm start - Navigate to
http://localhost:3000/in your browser
Note: All compilation happens entirely in the browser. The first build may take a moment to download the compiler toolchain (~50 MB).
src/- Default DSP code template and user.h headerfw/- Daisy firmware build system (WAMR loader)test-module/- Example DSP module with build/flash scriptsfirmware/- Pre-built firmware binaries for flashingdfu/- WebDFU libraries for USB flashing to Daisywasm-micro-runtime/- WAMR submodule for AOT compilation
The Daisy firmware uses a custom WAMR (WebAssembly Micro Runtime) engine to execute your compiled DSP code. The static site provides pre-built firmware binaries in the firmware/ directory, but you can also build from source:
cd fw
make clean && make
make program-dfu # Flash loader firmware to Daisy
# The firmware runs from SRAM,
# so must be flashed to a Daisy with a bootloader installed.After writing your DSP code in the browser:
- Click "Build & Run" to compile and preview
- Click "Flash to Daisy" to compile to AOT and deploy to hardware
- Modern web browser with WebAssembly and WebUSB support
- Daisy hardware with bootloader installed
- USB connection for flashing
DaisyOnline is open source! Contributions are welcome:
- Report bugs or request features via GitHub Issues
- Submit pull requests for improvements
- Help improve documentation
MIT License - see LICENSE file for details.
- Built on wasm-clang for client-side C++ compilation
- Uses WebAssembly Micro Runtime (WAMR) for hardware execution
- Powered by Monaco Editor for the coding experience
- DFU flashing via WebDFU