nimphea

Nimphea - Elegant Nim bindings for libDaisy Hardware Abstraction Library (Daisy Audio Platform: Seed, Patch, Pod, Field, Petal, Versio)

Wrapper score 15/100 · tests present · no docs generated

Wraps a native library — check OS Compatibility below for platform-specific linking notes.

Summary

Latest Version 1.1.0
License MIT
CI Status Failing
Downloads 0
Last Indexed 2026-09-04 07:26

Authors

  • Brokezawa

Installation

nimble install nimphea
choosenim install nimphea
git clone https://github.com/Brokezawa/Nimphea

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
nimphea - - - - - - -

Dependencies

Package Version Optional
nim >= 2.0.0 No
unittest2 >= 0.2.0 No

Source

Repository https://github.com/Brokezawa/Nimphea
Homepage https://github.com/Brokezawa/Nimphea
Registry Source nimble_official

README

Nimphea

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.

CI Docs Version Nim License

What is this?

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

Quick Start

Hardware Requirements

  • Daisy Seed - STM32H750-based embedded audio board
  • USB cable - For programming and power
  • Audio I/O (optional) - For audio applications

Software Requirements

  • Nim - 2.0 or later
  • ARM Toolchain - arm-none-eabi-gcc and related tools
  • dfu-util - For uploading firmware

Installation

  1. Install the Nimphea library:
nimble install nimphea

Note: This will automatically clone and build libDaisy. It may take a few minutes.

  1. Create a project from a template: Clone one of the starter templates to begin:
  2. Basic Template
  3. Audio Template

  4. Build and Flash: Navigate to your project directory and use the pre-configured nimble tasks:

nimble make
nimble flash

Documentation

Official docs (GitHub Pages): https://brokezawa.github.io/nimphea

Examples

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

License

This wrapper follows the same MIT license as libDaisy. See LICENSE file for details.

contributing

Contributions are welcome! See CONTRIBUTING for details.