A comprehensive, type-safe Nim wrapper for the libDaisy hardware abstraction library, enabling elegant Nim development for the Electro-Smith Daisy Seed embedded audio platform.
This wrapper allows you to write firmware for the Daisy Seed embedded audio board using the Nim programming language instead of C++. It provides a clean, type-safe API that wraps libDaisy's hardware abstraction layer.
Key Features:
- Zero overhead - Direct C++ interop with no runtime cost
- Type safety - Nim's strong type system catches errors at compile time
- Clean API - Idiomatic Nim interfaces to libDaisy functionality
- Comprehensive - High coverage of libDaisy features
- Hardware Accelerated DSP - Full CMSIS-DSP support included
- Well documented - Searchable API reference and handwritten guides
- Daisy Seed - STM32H750-based embedded audio board
- USB cable - For programming and power
- Audio I/O (optional) - For audio applications
- Nim - 2.0 or later
- ARM Toolchain -
arm-none-eabi-gccand related tools - dfu-util - For uploading firmware
- Install the Nimphea library:
nimble install nimpheaNote: This will automatically clone and build
libDaisy. It may take a few minutes.
- Create a project from a template: Clone one of the starter templates to begin:
- Build and Flash: Navigate to your project directory and use the pre-configured nimble tasks:
nimble make
nimble flashOfficial docs (GitHub Pages): https://brokezawa.github.io/nimphea
The Nimphea Examples Repository contains 40+ tested examples covering:
- Basic - GPIO, LEDs, buttons
- Audio - Passthrough, synthesis, effects
- DSP - CMSIS-DSP accelerated math
- Peripherals - ADC, PWM, I2C, SPI, UART, USB, MIDI
- Displays - OLED (I2C/SPI), LCD character displays
- Sensors - IMU, gesture, touch controllers
- Storage - SD Card, QSPI flash, SDRAM
This wrapper follows the same MIT license as libDaisy. See LICENSE file for details.
Contributions are welcome! See CONTRIBUTING for details.