This is a problem that’s been solved in a variety of ways, as others have mentioned. Whether those suit your requirements is another thing!

  • there’s a slew of MIDI-CV converters, which obviously have a limited resolution, but do the job of turning 0-127 into a voltage, usually up to about 5V
  • there’s the forthcoming Crow, which will be an I2C CV interface that should connect directly to Norns.
  • there’s Terminal Tedium, which is a Eurorack module for giving a Raspberry Pi CV in and audio out.
  • there’s dedicated boards like Bela, a cape for the BeagleBone Black (so - programmable in a variety of languages). It comes with eight channels of 16-bit analog IO, which is a nice shortcut to lots of CV outputs. If you’re into Eurorack, the Rebel Technology Salt is a Bela-based Eurorack module prebuilt and ready for programming.

But to break the problem down: what all these solutions do is make a voltage from some kind of digital system. Which means a DAC, and DC-coupled outputs. The digital system tells the DAC what voltage to make; the output makes it. The limits on the min/max voltage come down to the operating supply of the DAC, plus any offset/scaling circuitry after it.

If you’re interested, I’d genuinely recommend prodding what a modern powerful microcontroller can do with a small DAC chip. Not an Arduino Uno, those things are ancient; but a 32-bit chip like on a Teensy 3.2 - or the 3.6, with its dual-channel audio DAC built in - are really impressive, have straightforward IDEs and flashing procedures, and if you like C you’re over one of the biggest hurdles for doing things with these systems.

3 Likes

yup a pi/linux is perfectly capable of handling multiple soundcards… (ive done this PD with the Organelle with some ‘limited’ success)
so a dc coupled audio interface (like the ES8) is an interesting option.
has anyone used PD/SC with a dc coupled audio interface? any issues?

i guess this is not a cheap option, but perhaps if you want to also use with your laptop/desktop - its a flexible choice.

2 Likes

I am waiting on a pisound in the post from lithuania :slight_smile:

Also shreeswifty is providing me with an Sd card with pre-loaded apps (Norns excitedly:))

hoping to use these with a shed load of expert sleepers modules (ES3 - ES5 - ES6 - ES7 - ES8XMD)

via a USB streamer and this outputs adat from USB and is amazing with the aforementioned modules

I will try this as soon as the SD Card arrives and can aggregate with the PI Sound I assume?

as soon as these are here I can test

peace
s

2 Likes

https://monome.org/aleph/

There’s a hundred of them out there. One pop up in the trade section occasionally.
(It’s in C)

1 Like

Im intrigued, what current apps are designed to work as cv io?

also id be interested to hear how you plan to use cv?
as input, so modulating ‘patches’ running on pisound?
as output, using pisound as a multifunctional module?

Thanks, this is all very interesting! The Salt looks great, and maybe that’s just my solution-- pity it doesn’t have anything resembling a screen. Actually, the Bela (the thing the Salt is based on) looks FANTASTIC. The ARM-based Teensies seem great and all, but it looks like the Bela has more ADCs/DACs?

A couple of follow up questions, sorry if these are basic–

  • “the Crow [will] be an I2C CV interface that should connect directly to Norns” Super cool. Looking at the announcement post Approaching: norns – is this a eurorack module? Or will it just hook into the Norns? It sort of looks like eurorack and they mention “2HP”. Also, again a basic question, but what kind of programming interface do you use to interact with I2C on embedded Linux? Do you just talk to the bus via a filehandle? Or should I assume that Monome will give some specific Norns-Crow interface that does the I2C talking for you?
  • A couple of people have suggested eurorack modules. I wasn’t specifically planning to put together a eurorack setup-- I was hoping to focus on desktop/easily portable devices like the Norns or the Kastle or a breadboard if it were possible. If I wind up with exactly one eurorack module, how hard is it to just have a eurorack module just sitting on a desktop? It seems like even the standalone power supplies for eurorack gear are kind of expensive ($80 range)?
  • A couple people suggested 0-5V sound cards… what does C/C++ software use to talk to a sound card if it is running on the Norns? I assume I could just use PortAudio? Is there some Linux-native thing which is higher performance?
1 Like

The Dodeca/Dubldeca is essentially an CV I/O board with a teensy under the hood :slight_smile:

2 Likes

It’s a Eurorack module. It will connect to norns with some kind of cable, and I2C instructions will be carried over that cable. I2C is a very simple wire protocol.
https://learn.sparkfun.com/tutorials/i2c

Yes, it’s difficult to get the price of case/power supply down far enough to make these single-use/non-modular use cases cost effective.

Hmm, TIL the Axoloti has DC-coupled stereo output so could in theory send two CVs… and it’s affordable… but no one seems to be stocking it right now :frowning:

hI technobear

I use CV in via the ES3 to my ES6 & 7 with ableton and CV Toolkit also

I find it very useful for looping sections of recorded CV and I also use them to record audio back into the USB streamer through ADAT.

Received my PIsound last night but haven’t got the SD card yet so need to setup a temporary card tonight

Looking forward to seeing what can be done with this setup

s

1 Like

Yep - Bela is specifically designed for this (it’s come out of a music+technology research programme); it has lots more ADCs/DACs built-in than the Teensys (which are just exposing the ones built into the MCUs), and most importantly they’re higher resolution - sixteen bits rather than twelve. What I can’t remember off the top of my head is the voltage range on them - I’d imagine it’s 0-3.3V, and possibly 0-5V, but no more. As ever: offset/scaling is possible with extra components.

I assume that Monome will give some specific Norns-Crow interface that does the I2C talking for you?

Yeah - given it’s an official solution, and the things we’ve seen about Norns’ design and assumptions I’d imagine there will be a wrapper API inside Norns that means you just write crow-specific commands - I2C is lower level than a lot of the (Lua-side) scripting in Norns exposes.

how hard is it to just have a eurorack module just sitting on a desktop? It seems like even the standalone power supplies for eurorack gear are kind of expensive ($80 range)?

It’s not impossible. There are cheaper PSUs available, that don’t spit out much current, but might be enough. The only reason people leap to Eurorack is that it’s where a lot of the digital->CV work is going on right now owing to the increasing popularity of the format. (Eg: RT just making Salt a product). I think you’re right that it’s probably not worth it for just a CV solution.

Although Bela doesn’t have a screen - it really is just a development board - it’s possible to add one. Because the Beaglebone Black it sits atop is running Linux, you’re effectively just SSHing into it to write or upload code in your format of choice - Puredata is popular, as well as Supercollider or lower-level code. I guess it depends what you want a screen for - as an interface to the finished thing, or a developer tool. The Beaglebone Black almost certainly supports SPI or I2C, making many of the popular OLED screens that firms like Adafruit can sell viable, providing you can just write an interface to them. (Norns uses an I2C screen that it addresses as a Linux screenbuffer, I believe).

Each of the off-the-shelf solutions is taking a different perspective: despite the technologies involved, Norns’ main designed focus is the higher-level end - scripting and interacting with existing engines. Bela is focusing on being a dev board or engine for other instruments, in particular things with low latency and lots of ADC/DAC requirements; PiSound is emphasising the openness/scope of the Raspberry Pi platform; Expert Sleepers are focusing on the Eurorack community; each of them is a different set of assumptions and, of course, compromises. If you’re working on a lower level solution, at some point you probably end up doing more outboard electronics: either to amplify, or scale/offset, or to add controller inputs or, say, DACs to a chip that doesn’t have enough, or enough at high enough resolution.

I’m also aware - though haven’t said it explicitly yet - that when I say “you could just whack an SPI screen on a Bela and some knobs and off you go!” I’m assuming a variety of things around electronic competency and/or enthusiasm - or desires to spend time plumbing rather than programming, or available time, and those are all actually factors that inform decisions, and the compromises we choose to make.

1 Like

The answer is different if we’re talking about Salt, the Eurorack version of Bela, or the simpler SoC board just called Bela.

Good catch - I was definitely talking about plain old Bela.

Bela board is 0-5v on analog in/out , and 0-3.3v(!) on digital i/o (and not 5v tolerant)

Salt is 5v (but CV compatible) and the knobs can be used as offsets.

I suspect most use the supplied web frontend, which is pretty good… not only allows uploading/viewing/editing of code, but also has a scope function. (of course you can use ssh if you wish too)

screen, yeah I connected a small oled, pretty simple… best done as a separate process , and then an aux task in bela dsp, to not disrupt dsp… but ended up finding i didnt use it much, so its back in the toolbox.

axoloti is 2v pp on audio output , so -1v to +1v, so possible, but not a huge range for cv.

there are also a couple of analog outputs (and quite a few inputs) you can use, are ok, if you make sure you stay
in the 0…3.3v range. (simple opamp/diode clamp works) - a few have done this so there are resources on the axoloti forum. so axo is not the simplest, but its by far the cheapest, excluding arduino, and is really flexible…
(I love axoloti as a ‘utility box’ )

as others have said, they all do the ‘simple task’ of handling cv, some with more effort than others, but also at very different costs too, all these things also do a huge amount other than just CV IO, so you might want to consider that too.

Id say the choice is really, what do you want to do… e.g. do you need a screen?, what do you want to code in? how many cv i/o?

its probably also fair to say, as these things are all very flexible, they all have a ‘time investment’ involved to understand the platform… (this is the bit I really enjoy, understanding what they can do and how )

2 Likes

FWIW - norns display uses SPI with the linux screenbuffer. But - you can use any display that has a driver for fbtft - for example, I’ve got a $5 sh1106 1.3inch SPI OLED working on RasPi with norns.

Also FWIW - USB power for modular - pretty good for running just a simple module or two - esp if the mV ratings are low

Perfect for your lunchbox modular rig

https://modularaddict.com/manufacturer/mmi/mmi-usbpower-pcb
or
https://c1t1zen.com/presta/home/9-usbpower-kit.html

(I use one of these for my DIY module build testing rack)

I wish those folks would post specs to the store website so you didn’t have to go hunt and peck for them…

that MMI uses this DC/DC converter:
https://www.mouser.com/ProductDetail/MEAN-WELL/DKM10E-12?qs=%2Fha2pyFaduj%2bGVVRbVEvXcyGin%2FM1U0gfAmAe4tf9K%2FLsDQL%2brCFbQ%3D%3D

416 mA

oh, that’s nice! I seem to remember the c1t1zen version provides 250mA

Have a look at the endorphins shuttle control cv module. It can be self powered and programmed to do many midi to cv duties. It supports USB host and devise. It has 16 cv outs. No ins unfortunately.
I’m hoping to use my with Norns connected directly to it. And hopefully someone can expand the kria app to 8 tracks.

1 Like