FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 

[SHIPPING] nw2s::b - Arduino Based Algorithmic Controller
MUFF WIGGLER Forum Index -> nw2s Goto page 1, 2, 3  Next [all]
Author [SHIPPING] nw2s::b - Arduino Based Algorithmic Controller
UPDATE: Kits are starting to ship! I'm in the process of emailing everyone. The only thing slowing the kits down are all the cables I have to make! I'll never underestimate the work required for the board interconnects ever again! Anyway, if you haven't heard from me, you should by the end of the week.


UPDATE: Kits are available on deposit!

I had a couple of requests for the same deposit setup for kits, so I've officially opened up the kits to preorder with only a deposit. $200 now and the balance of $275 will be due prior to delivery.

There's only a few more days before I'm going to have to commit to switches, knobs, and pots so help me out and order as soon as possible!

In other news - panels are shipping TODAY! and I received the first shipment of commodity parts - yes, I'm the proud owner of multiple thousands of resistors, capacitors, IC sockets, and LEDs.


UPDATE: Preorders will be open until January 31!

That's this friday! Just letting you guys know that no kits have yet been sold! Probably understandable since it's a bit of a beast, but If you're thinking about it, you have until this Friday. I'll be putting in orders for all the knobs/pots/jacks/switches and PCBs then based on the number of preorders, so after Friday, the turnaround time may increase.

In case you didn't get the news from the other thread, I've updated the circuit to provide bipolar inputs and outputs! That's -5 to +5 in stock configuration and -10 to +10 with an op amp upgrade!

Thanks a lot - getting close!


Here's a new demo of an emulation of a Turing Machine I've put together to demonstrate something using a few more outputs all at once.


There's a few different levels of kit available, but, if you're considering the full kit - and you're not 100% confident in your skillz. PLEASE just save us all the torture and pay the little bit extra for me to build it for you. After the pre-order the effective build fee will go up considerably, so just do it!

Anyway, I expect the only long turnaround time to be the pots and switches. I'm still waiting on some samples from Grayhill - the Tyco (TE) momentary toggles felt like crap, so I'm looking elsewhere. That and the input pots are just not anywhere in the numbers I'll need them for more than a few kits.

Let me know if you have any questions.

That's a lot of jacks!


I've been hacking on the Ardcore for a little while, and while it's quite fun and more than a little useful, it didn't take long for me to figure out that there is just so much more that it could do, so I decided to take a stab at it. In case anyone's interested, I figured I'd document some of the process as I work towards a concrete implementation.

What I've come up with is a combination of hardware and software. The hardware is effectively an anlorithmic CV generator/processor/sequencer and the software is a framework that makes programming this thing a little less intimidating for non C++ folk, and a little less spaghetti-like for those that may be more adept at C++.

Through much deliberation, I ended up designing the hardware with the following specs:

16 Direct Coupled CV Outputs
16 5V Gate/Trigger Outputs
12 Switched Analog/Potentiometer Inputs
4 Momentary/Toggle Inputs
4 Gate/Trigger Inputs
1 Noise Output
16 beat clock display

84Mhz Arduino Due Platform
12 bit DAC resolution (MCP4822)
Optocoupled digital I/O
Fully Buffered analog I/O
On-board dedicated entropy source

For the software, I approached the design as a framework. With this many inputs and outputs, keeping track of IOs and events would need a little bit of organization, so I first put that in place. The second requirement for the software was that the API needed to be independent of the underlying hardware. Besides changing the names of the inputs and outputs, the code should remain the same whether you are running on an Ardcore or on my prototype.

I've prototyped 4 channels of DAC output, 4 channels of digital output, and the beat clock. You'll have to forgive my demos. I'm concentrating on only getting enough done to prove that it's working so that I can move on to the next piece. My goal is to get the hardware built by the end of the year. The software can continue to develop long after the hardware is done.
[s][/ s]

This is demo illustrates a few things including running four simultaneous CV outputs, some random devices, and multiple clocks running at different tempos. The only CV source on this demo is the hardware prototype. Pitch CV is going to a Cloud Generator and a Morphing Terrarium, Envelope CV is going to a VCA, and the X parameter of the MT is being modulated by another CV output. I've added a little reverb and ubermod after the fact as well.

The code for this specific demo can be found on github at moSequence2.ino

As an aside, this demo proves that if nothing else, the same code runs on the Ardcore:

It's generating envelope CV on the DAC output and a decay signal on the D0 output.

And I've started some documentation/tutorials on the wiki:

Thanks for looking

This thing has turned into quite a beast. I've been prototyping most of the IO, and have decided to add a few more small circuits. It's not going to end up being cheap, so I figure I may as well maximize its utility.

Here's the schematic for just the IO board. The device will use three stacked circuitboards. The first will obviously hold all of the knobs, jacks, and switches. The second will hold all of the circuitry, and the bottom will be the Arduino.

Here's what it's ended up being:

16 direct coupled CV outputs. These are driven by a set of 8 MCP4822 dual 12-bit DACs. They use a serial interface, so don't use up a bunch of parallel pins on the microprocessor. The outputs are individually tunable to ensure that we get 12 bits worth of CV resolution and that digital 4000 = 5.00V

Onboard noise source. Since this thing is supposed to be a chaotic/altorithmic CV sequencer, I felt like a built-in PRNG just wasn't going to cut it. Since it's tied to a digital pin, it is also tunable so that the noise can be fine tuned to generate a balance of ones and zeros. (Final whitening happens in software) The noise source also has an AC coupled audio output with no LPF.

Two AC coupled DAC outputs. The Due has two built-in DACs that are of limited use for CV signals because the output voltages are limited. They are, however, perfect for audio with a little help. These two DACs are AC coupled with a gentle 3dB/octave LPF at a very conservative 10kHz. While it would be possible to get a full 20kHz range out of this thing, you will spend a lot of time optimizing code to do something your other VCOs can do in their sleep. Instead, this is likely best used for producing glitchy/chipnoise tones or maybe some granular sample playback from data stored on the SD card...

Micro SD card reader. This would not be something that would be accessible from the front panel, but would more likely just store wav samples, wavetable data or otherwise provide some flexibility in the future for even coming up with a more flexible mechanism for specifying sequence data: future extensibility.

16 segment beat clock. This is simply a display consisting of 16 LED indicators that a software clock can use to display the current beat. It's driven by a 4-to-16 decoder. I'm not currently planning on having a gate output on this, but could be convinced otherwise if there were interest.

16 digital outputs. These are gate/CV outputs operating at 5V through a 3.3V to 5V translator. The panel will include an LED for each output.

12 CV inputs. Operating from 0-5V, these 12 inputs get their operating voltage conversion and input protection from three quad LMC6484 rail-to-rail op amps. The panel will include 12 inputs on jacks that will go through 12 switched potentiometers. The switched source will be +5V, so that the pots will either be CV attenuators or 0-5V.

8 digital inputs. These will be gate/CV inputs. One of the great things about the Arduino Due is that interrupts are available on every input, so each of these will have interrupts. The current plan is to have 4 inputs on jacks and 4 inputs as (ON)-OFF-ON toggles. Thinking about it, though I may change them to be 8 inputs and have the toggles be (ON)-ON-ON, switching between +5, +5, and INPUT.

Power is currently +12, -12. The 3.3V and 5V supplies are generated by the Arduino. I'd consider adding a +15, -15 supply if there was some interest there, but I'm only eurorack, so don't have anything to test bigger stuff on.

I was hoping to fit this into about 40HP, but it's gotten just a little bit bigger and may need a little more space. We'll see... I'm going to have to upgrade to the full version of Eagle to get this laid out properly.

I'll be pricing out some of the components and builds shortly if anyone is interested. I realize it's a bit of a niche piece, but some of you may see the potential here! I know I can't wait to get a couple built for myself. The prototypes are a blast to play with.


Great work Scott ... really interested.
Scott, this is really, really awesome! we're not worthy
Thanks for posting schematics! I have been looking for something like this to answer some unresolved questions I have for a project I'm working on myself.
Much appreciated. I'm looking forward to hearing more about this, and maybe build a few too! General purpose programmable modules are my favorite kind!
Scott, you wouldn't happen to have a higher resolution image (or cad format drawing) of that schematics that you want to post, would you?
I checked your repository but didn't find it there either.
The PNG is a little too low resolution to make out details.
Very interesting stuff indeed.

Thanks in advance!
No prob. I'll upload a better image this evening.

This could potentially save me days of work! I have started drawing some simple schematics to extend the functionality of the arduino, but what you've got going here is beyond what i could come up with given my knowledge of electronics.

I cant wait to see where you're taking this. Are you aiming at some kind of DIY project available for others? Whats the next step?
Thanks for the interest.

As far as a plan, ideally, I'll be able to provide these preassembled and as kits if there's enough interest.

I am currently at the point where I am ready to start building a prototype since the individual building blocks have been POC'd. I'm going to invest in the full version of Eagle and start laying out the board and get a couple of proto boards made. I'll need a nice pretty panel, and IMO, there are none better than grayscale.

They aren't going to cheap, but for those willing to code a little bit, I don't think there are any modules that have the depth that this thing will have. Certainly the potential is enormous. That's where the software library will come in. With this many IO's the code will need a little more structure than your typical Arduino sketch, but if you look at the existing code, I think you'll see that the architecture is in place to keep things organized in that respect.

For those interested in how some of the circuits work, I've uploaded a PDF schematic to the git repo:

However, just to be clear, I'm not open-sourcing the hardware, just the software for the time being.

Also note that a couple of the components aren't exactly correct on the schematic. I used pin-compatible, but not functionally compatible parts for the input buffers (TL074's wont work on 0 and 5V power, for example), and the output logic level converter.


That is awesome! Exactly what iv felt like missing in the modular format. Keep us updated.
Good googley moogley! Very interesting work. Can't wait to see where this ends up.
Ordered the last of the prototyping parts last night - including the Arduino SD card reader - I'm particularly excited to see if that works. Time to convert some of the single-cycle wave library to raw!

Just wanted to post a small update... I've started the board layout. It's been a few years and I completely forgot how hard this is. Getting back into the groove tho.

Here's 4 channels of CV from DAC to LPF to op amp to tuning trimmers to pin headers. Seeing it like that makes me think that would be a nice little general purpose breakout board. It's pretty dense so far. Hopefully it's dense enough to remain contained in 40 to 42HP.

I may regret avoiding SMT during the layout process, but I suspect in the end I'll retain a tiny bit more of my sanity going this route.

Wow this looks amazing, certainly in for a kit. Really clean code too, nice one!
scottwilson wrote:
I'll need a nice pretty panel, and IMO, there are none better than grayscale.


Just wanted to say that I responded to your message, let me know if you got it.
Yes, got it, thanks very much for the response... I will be in touch shortly!
i am also very interested in this cool project. Let us know when you start to sell the kits.
Thanks everyone for the interest, and I apologize for not responding to PMs, I have been on a mission to try to get this thing buildable by the end of the year, and there's still a fair amount of work to do to get to that point.

Most importantly is to get the main IO board laid out and get an initial set made for testing. Happy to say that I'm done with an initial layout! I budgeted 40HP for the panel and was worried that the IO board wouldn't fit behind that when I first saw the component count. Somehow after hand-routing the whole thing, I managed to get it under 30HP!

Still need to work out a couple of layout bugs, figure out where to drill all of the holes for standoffs, and breadboard a few changes I made in the layout process, but should be able to get an order in by the end of the week - knock on wood.

Another thing I've added since I started are a set of expansion pin headers. Any unused interface pins from the Arduino Due have been routed to a pinheader to make expansion easier. Some things that could easily be added are a front-panel mount for the SD card, USB, an LED matrix, or even a character display.

Anyway, here it is in all of it's 2-layer, through-hole glory.

Quite an ambitious project! It's looking great.

I'm definitely interested in this one!
Thanks again guys - I've caught up with all the PMs and emails... except for one person who emailed me this morning or late yesterday who was talking about character displays. Send me another note - it completely disappeared from my inbox somehow!


Four prototype main circuitboards arrived this morning! Hope I don't screw them up. In other good news, some progress on the panel design, but I'll hold off on anything official on that front until we get a little further.

Almost finished last night. Just a few more headers to install before testing to make sure I don't release any magic white smoke.

CJ Miller
Looks neat! At what sampling rate are you running the converters?
Nice! I vote for white soldermask on the main PCB to match the Due.
Yes! Yes. I cant wait to hack on this.
White is a good idea... I'll keep my fingers crossed that we can get enough preorder interest to justify a full custom PCB run!

As for the sampling rate:

The 16 external DACs are DC coupled and latched, so you just set the value and they stay until you set them to something else. I did put an 8k-ish low pass on them to round out the corners a little if you're using it for modulation.

The two internal DACs that are AC coupled can also run at whatever sample rate you want... I designed a 10k lowpass which would mean a 20k sampling rate... which could be a little optimistic depending on what else the processor has to keep up with. I may change that to something a little more like 8k. It's a single pole 3dB/octave filter anyway, so it's not doing a ton. You'd likely want to run that through a real filter in the end.

I'll see if I can get it finished off once the little one is off to bed tonight.

Looking forward to seeing where this goes!
MUFF WIGGLER Forum Index -> nw2s Goto page 1, 2, 3  Next [all]
Page 1 of 3
Powered by phpBB © phpBB Group