Libdaisy - Write your own firmware on the Noise Engineering Versio!

Hi there,

I’m Ankoor and I’m a firmware developer (or as my business card puts it - “Lead Singer”) at Noise Engineering. We at Noise Engineering are SUPER excited to announce that the Libdaisy library now supports the Versio hardware!

Versio? What’s that?
In August 2020, we released the Desmodus Versio, Noise Engineering’s reverb. Maybe you heard about it:

  • It’s a pretty kick-ass reverb
  • It’s a stereo DSP platform
  • It’s based on the Daisy Seed

You can now use the DaisyVersio C++ code (daisy_versio.h in the Libdaisy library) to create your very own Versio module firmware. The interface includes functions to read the gate input, seven CV inputs, the two toggle switches, and the tap switch. You can control the four RGB leds. You can use code modules from DaisySP to set up stereo audio-effects processing.

Check out the example DaisyVersio project, where the Versio is set up as a stereo bitcrusher with CV control. If you have any questions about DaisyVersio or writing firmware for the Versio, please post them to this thread and I will do my best to answer them!

– Ankoor (Lead Singer)

10 Likes

Congratulations! But I wonder how many people won’t see past post’s title and will think that it’s DV stock firmware that got open sourced. When in reality it’s libDaisy that got support for using this device with your own code and a sample project.

1 Like

Thank you for pointing that out - the title is now updated to indicate clearly that Libdaisy now supports Noise Engineering Versio modules.

1 Like

Very excited to see what comes of this project!

1 Like

Very cool. Having NE involved to this degree in this community provides (for me at least) quite a bit of confidence in the future of the platform. If @ankoor and @stephen would also share some of their DSP scraps (like a fixed sample rate Daisy Manis Iteritas :wink:), that’d be the bee’s knees.

1 Like

Hi Ankoor!
Is there any chance of Versio firmwares being open sourced?
I would very much like to start tinkering with the existing firmwares, doing little adaptions, for my own joy (and the community) but also just to start learning C/C++. (I have 15 years of professional Java experience)
I wouldn’t be able to start a whole new firmware from scratch as I never programmed any audio processing, and this is probably not easy to learn. But moving some controls around should be very well doable.
You could, in this respect, maybe even divide the source into closed parts and open parts, if the software is well structured. I can imagine you don’t want to disclose the audio processing parts, there’s probably some R&D to be protected there, but on the controls side, what’s there to loose? I.e. what if I want to control the amount of ducking with one of the LFO potentiometers, there’s no harm in being able to do so? Only opening up the control / panel side of things could be very interesting for the community.

Hey,

We (Noise Engineering) have no plans on open sourcing any of our product firmware at this point.

If you want to start programming firmware for Versio libdaisy has a large number of examples that should compile and run on Versio with little work on your part. This would be a great place to start tinkering!

1 Like

Hi, i’m wondering how to compile your “exemple DaisyVersio project” ?
Arduino IDE, Visual Studio Code ? I dont understand, i need a “.bin” right?
Cedric

Hi @OIV, and welcome to the forums!

The versio/Decimator project in DaisyExamples should compile just the same as any of the other example projects.

Provided you have the tool chain installed, and the libraries compiled, this can be done by either:

  • running make from the project directory
  • running the “build” command from VS Code

If you’ve followed the Setting Up Your Development Environment guide then you should be able to replicate the steps you used to compile the seed/Blink program.

Hope that helps answer your question!

1 Like

thanks, I skipped this step…

At " 3c. More Setup (Windows Only)"
no dropdown menu…
just “>_ powershell”
so, i can’t select Default Shell
any idea?

VS Code 1.56.2 version

This should turn the dropdown back on:
File>Preferences>Settings
Then search for Terminal>Integrated>Tabs:Enabled
Set that to disabled (uncheck it).

1 Like

I am having a hard time getting the audio of the Decimator example running. Everything else works fine. Could it be that my hardware is not supported with the original daisy_versio implementation? My module (Lacrima Versio) has a Daisy Seed 2 - DFM (Rev 5) on the back (I read somewhere else that this Daisy is a smaller version of the daisy patch submodule, is that correct?).

All Versio hardware revisions (both original and DFM versions) are software compatible but they are not compatible with daisy patch as they do not have the same controls.

Thank you for your reply! I figured out that having the Versio on full power supply (not usb power) makes the audio working.
How is the general workflow meant to be? Can I keep the Versio connected to the PC when switching on my PSU?

Yea you should be able to re-flash it without resetting the euro power. You will need to reboot it with the buttons on the back to flash it.

Hi, I have a very basic question. What would be the easiest way for somebody who does NOT understand code to build a custom firmware for the Versio? A few years ago, I used Cabbage – a visual C-Sound platform that allowed the user to connect basic Max/Reaktor-like objects to create patches that could be exported to C.

I was wondering if something exists for the Daisy Seed and Versio? I ultimately have designs to port open source modules like MI Clouds to the Versio, but recognize starting super basic is a much better way to start.

Electrosmith has tutorials for using Max/Msp gen~ for producing code to run on daisy. https://www.youtube.com/watch?v=HTXhd8sdxp4

2 Likes

It should be possible to use this json file in combination with Pd/HVCC/Plugdata → https://github.com/CorvusPrudens/oopsy/blob/sensors_update/source/versio.json

Latest nightly builds (upcoming 0.8.0) of Plugdata includes an updated Pd to Daisy toolchain that can take custom daisy configs like this file: plugdata - Download

I do not have a Versio myself so I cannot test it. If it works we can include it in the toolchain!

1 Like