Zrna - Software-defined analog


#1

In the past I hinted at the fact that I've been developing some technology built around field-programmable analog arrays and several of you expressed interest in the project. As of today it's officially launched: https://zrna.org/

The site goes into much more depth, but to summarize briefly you can think of it as sort of conceptually similar to Axoloti except that the signal processing all happens on an FPAA. I recommend taking a look at some of the demos and the object library. I think it will be clear why this is such an exciting technology!

I'd appreciate your support. Contact me if you have questions.


FPGA-Based DSP Options
#2

This looks really cool!


#3

Very interesting gadget!
Suggestions: specs for power requirements, physical dimensions.
Some idea of limitations: how complex a circuit can the chip implement?

Edit: I found the Quickstart section on Hardware Resources.


#4

Man i just glanced over it and this looks really promising! Incredible work on your part for sure, hats off. From what i understood it now mainly comes down to how you actualy analogg components/modules sound? audio demos are great already.

whats happens in these circuits if i overdrive a signal? if i go into one of the opamp with a voltage higher than expected?

very curious to see some more applications for it. do you plan to make units available to others anytime soon?


#5

Website suggests they’re ready to sell now.


#6

Oh you're right. i somehow managed to ignore the giant shop button...


#7

I appreciate the kind words everybody. Regarding dimensions: I'll add this to the site but the board is 77mm x 30mm which for comparison is about half the length of an Axoloti and about 60% of the width. Axo core is 160 x 50 mm. Will clarify power requirements there as well: the short answer is that it is designed to run off of standard USB bus power and supplies; the rough worst case current consumption is about 125mA.


#8

really nice!
how would one add an old-school midi din input (or output) or an usb-host plug? arduino?


#9

The board works as a normal class compliant USB MIDI device, so any means of moving between old school MIDI DIN and USB MIDI is just fine. For example it could be plugged into Axoloti's USB host port and you could use Axoloti's DIN ports or into a host computer that has an audio interface with MIDI DIN. Technically MIDI DIN could be supported directly on the board itself directly into a serial port with a breakout board and if there is enough demand, we can add that feature. Some of my users are outside of the audio domain completely so it made sense to not encumber the design with full size din ports or a separate host port.


#10

i think this would be a very important addendum indeed. for me midi input would suffice but i would guess midi out for a cv to midi converter could also be very handy. being able to use the device standalone (without an axoloti or computer or PI) is a must for me since i would use this on a stage and i don't want to carry a pc there or use an axoloti just for midi rerouting.


#11

thinking further, you write that there is a serial in on the board. if this can be configured for 31250 baud rate, then i can build the optocoupler midi input myself (done that multiple times for arduino) so the serial input/output baudrate can be run at midi baud rate?


#12

This looks very intriguing, great work!

I've always wanted to have an analog "mastering" device after my axoloti setup, with eq, multibandcompressor and limiter. Would this be possible to make with your board?


#13

from the Zrna Quickstart:

Unsurprisingly, the Zrna board has finite hardware resources. The analog array section consists of four comparators, eight opamps, switched-capacitors and some auxiliary hardware.


#14

Thanks for the feedback everyone. I think it will be useful to add a section on resource usage for each module in the module library documentation, so it's more intuitive to get a sense of how complex running circuits can be. Currently this is something that is visible at runtime while you're developing a circuit.

This is sort of analogous to how Axoloti keeps track of DSP load except that each running module on Zrna, like a gain stage or a lowpass filter section, etc. uses a discrete amount of hardware resources. An inverting gain stage uses a single opamp for example (1 out of the 8 available). There is no direct concept of DSP load because everything is happening in the analog domain. If you need more headroom for a more complicated design, you can simply chain the devices together.

My sense is that building a simple analog mastering device is well within the realm of possibility. It depends on how complex each part in the FX chain is.


#15

Regarding Lokki's question about serial baud rate: by default a serial interface is configured for accepting incoming API calls. We can easily include an option to disable that and switch it to an appropriate configuration for MIDI DIN input. If you take a look at the right half of the board, you'll see the MCU IO that is available (and if you're interested you can look up exactly what MCU feature can be assigned to each pin). Again by default most of that IO configured to accept incoming API calls on the various interfaces. All of those pins can easily be reassigned as needed.


#16

Will the hardware be open-source? Absent highly detailed documentation, schematics are very useful.


#17

My intent is to open source as much as the project as possible, hardware and software, while still being able to survive and set myself up to be able to build more projects like this. The right balance there is not always obvious. I'm comfortable releasing schematics, but probably not complete layout files, similar to Axoloti Core's approach. If there are other aspects of the documentation that you'd like to see expanded, let me know.


#18

I wonder if you considered making a Eurorack VCF module with AN231E04 ?


#19

I did actually. I have a prototype design with four AN231E04 chips and substantially more IO in a "vertical" format like the standard Thonk-style Eurorack jacks (for mounting flat behind a panel). It adds a bit of complexity and expense though. The intent with version 1 is to be a bit more general purpose and standalone, like Arduino or Pi, rather than being specifically bound to Eurorack. There are users that don't have Eurorack systems or are interested in engineering applications outside of music completely. If there's substantial interest in a more Eurorack-specific version, it's something we definitely can do.


#20

I hope you don't mind me asking this, but isn't it a requirement that it would all have to be open source?

To be clear, I totally understand you wanting to protect your time invested in order to see a worthy return (and I sincerely hope you do), but wouldn't making only some of it open source mean that the end user is using part-proprietory stuff?

If I were to make a commercially viable product with the current Axo for example, and decided that the physical aspect of the board simply is not viable for my product, then if I'm understanding correctly, I could, if I had the know-how, use Johannes' schematic as a guide to 'roll my own' purpose-made boards as long as I open source my own version of the board.

But if your own board was part-proprietory, I would not be able to do that if I had prototyped my product based on your board. If that is the case then your board would be no use to me, cause while I'm quite sure I come accross as the village idiot around here, there is actually a very serious businessman inside of me and I'm a lot more savvy in that area than people would ever suspect, and I can tell you without any reservation whatsoever that I totally intended to roll my own boards, guided by Johannes schematic, for use in my own products.

I was under the impression that would be fine as long as I open source my own boards in return, which I am perfectly happy to do. I'll be honest, it's not just your comment that puzzles me, I see similar statements a heck of a lot in this world of open source, and it always baffles me.

With the best of intentions, we all want to protect our time invested especially if we plan to make a business out of what we produce, but can we really protect it without breaking the rules?

I mean crikey, I am even under the impression that if asked for it, I would be forecd to offer-up the Axoloti sketch of any commercial product I create because it had been created using open source software and hardware. That to me is much more of a threat to having any chance of selling my product, than open sourcing my own board layout would be.

My own board layout would be purpose made for my own products, basically just a different layout sans the stuff Johannes put on there that I don't need, replaced with the stuff that I do - for use in my own products.

No intention of putting my own boards on the market as Axoloti boards, I only intend them as my own supply for my own products.