nw2s::m Assembly Instructions

There same PCB may be used as either the active buffered mult or the passive mult. It’s a very quick build, but you need to pay attention to a couple of small points to make sure you don’t miss a small detail that could compromise the functionality. PCB Orientation... read more

nw2s::dsp Freeze/Stretch Demos

Once you open up the possibility of a heavy-duty DSP chip like the SHARC with hardware accelerated FFT and biquad filters and can leverage some high-throughput ram like DDR2, you really have a powerhouse on your hands. I’ve been having a blast getting some of these wacky algorithms implemented.... read more

A Detailed Look at the Clocks

Before we take a look at the next round of MIDI support updates, I wanted to take a little time to talk about the different clocks available on the ‘b. For most modules, their role is clear. There are clock generators. There are clocked devices. Clocks feed clocked devices.... read more

USB MIDI Support Part 1: The Basics

In preparation for the b2 prototyping (which will feature two front-facing USB OTG connectors), I’m furiously adding support for a few new USB devices. In this case, we’ll specifically talk about USB MIDI controllers. While the USB MIDI standard is fairly cut and dry and there are a few... read more

Future Future

First off, let me thank everyone for such a successful run with the nw2s::io! I’m almost out of the first run of 50 balanced modules and have sold almost as many of the unbalanced. Second, to all of the nw2s::b owners out there waiting for 1.1 firmware – not... read more

The Square Wave Test

There is a recent thread on the MW forum about the array of I/O modules, which may or may not sound better and why. I assert that while the sound of I/O modules does matter to a degree, the most important aspect of them is whether or not they... read more

nw2s::io design, usage, and update

Great news! I now have a fully working nw2s::io balanced prototype running, fully powered. The signal PCBs arrived last week and the power PCBs this week. They tested out great. There is a slight tweak I’m making to the gain staging, but other than that – perfect! I am... read more

System Configuration for the ‘b

A new feature of 1.1 is the ability to store system configurations on the SD card. This will allow us to remove any system-specific settings from code and b programs as well as allow us to configure some things that have not been easy until now. The config file... read more

Upcoming Grid Support Preview

I’ve been a bit busy, with the ‘io module, but I’ve also gotten a lot of code written for the ‘b on the way to the 1.1 firmware release. Added to that is some great contributions from one person in particular. The ‘b has some great possibilities now and... read more

nw2s::io Unbalanced Assembly Instructions

If you would like an offline version of these instructions, you can download it here: Download 1.1 PDF (4.0 MB) If you have an 1.0 version of the kit, you can still download the old instructions as well: Download 1.0 PDF (3.8 MB) Overview This is a relatively simple... read more

Official Release! Version 1.0 Firmware

I’m happy to announce the 1.0 version of the nw2s::b firmware. This is quite a milestone in the development of this extremely flexible programmable module. Until now, the nw2s::b has been a seemingly untamed beast, requiring developer-fu to make heads or tails of the array of inputs, outputs, timers,... read more

Sample playback on the nw2s::b

Been working on the 1.0 release of the firmware that will allow normal humans to be able to program this beast of a synth. Getting stable sample playback streaming off the SD card was holding me back, but I think I’ve cracked it! You can now playback samples of... read more

nw2s::b Assembly Instructions – Step 3

Overview This is the third and final step in the assembly process. There is only a small amount of soldering left. Most of the final assembly is just wiring and testing. Solder pins on the SD Reader Card For the daughter boards, orientation of the pins is critical. Pay... read more

Session sheets for the nw2s::b

Wes @ Grayscale has created some great session sheets for the ‘b. We had some requests for overlays, but I think for now, these will be a bit more useful (and require less hole punching) Print them out and use them to either keep track of specific inputs and... read more

ByteBeats on the ‘b

Had a couple of folks asking about bytebeats, bitcode, or whatever they are called which got me thinking about them. Like most of my code, I have more hardware work to do before I can really concentrate on the software, so I have managed to only spend enough time... read more

nw2s::b Main Board Assembly Guide – Step 2

Overview The following steps should guide you through the main board assembly process. This is the harder of the two boards to assemble. It makes sense to start with the panel board first to get into the swing of things. If you’ve done that, congrats! Be ready to calm... read more


The nw2s::b is extensible through a few means. This post will outline them and how you can use them. Note that each of the listed pin headers is providing raw access to the Arduino pins. Arduino pins are notoriously non-robust as even they are simply giving you raw access... read more

First Wave Preorder Status Update

I’ll keep this post up to date with the current status of parts orders. Panels: Ordered and received! Commodity parts: Ordered and received! Arduinos: Ordered and received! SD Card readers: Ordered and recieved! LED Drivers: Ordered and received! microSD cards: Ordered and Received! Knobs: Ordered and Received! PCB: Ordered... read more

nw2s::b Panel Board Assembly Guide – Step 1

Overview The following steps should guide you through the panel board assembly process. This is the easier of the two boards, so may be the best place to start. This kit is not intended for beginners. While the circuits are not individually complicated, the volume of work is significant... read more

DAC output circuit

While I was working on another post, I made a few recordings of the signal straight off the Due DAC and then recorded the same through the output circuit. I just thought I might share the sounds and screeenshots of the waveforms. The DAC output circuit is shown above.... read more

A Generalized Oscillator Framework

Note This tutorial is a little more advanced for those of you wanting to get into device/algorithm development rather than just patch creation. It covers topics that will require you to modify or add code to the nw2s library folder rather than just the sketches folder. One of the... read more

Uploading a Sketch with the IDE

While we’re working on setting up some tools that will allow non-tech folk to upload preset-based sketches, here’s a brief tutorial on how to upload a sketch using the Arduino IDE over Bluetooth. Before you start this tutorial, please make sure you’ve set up the IDE correctly and that... read more

IDE Setup and Installation

Note that the 1.5.8 version of the Arduino IDE has introduced some changes to their standard C++ libraries which are not backwards compatible. Until we figure out how to work with both at the same time, please download the 1.5.7 version of the IDE: If you’d rather upload... read more

Bluetooth Pairing

The nw2s::b uses the bluetooth connection for two things. Uploading new sketches (really it’s firmware) Issuing commands to the current sketch The bluetooth module included with the nw2s::b is built by Adafruit and is very easy to set up and get running. It uses the SPP standard which most... read more

CV controlled sequencer

No new code to demo this week. Instead this is a new application of existing code. The melody is a sequence whose position is determined using a CV signal. To “play” the sequence, you apply a CV signal, or in my case, you just twist the input potentiometer back... read more

A Turing Machine Adaptation

Most of the demos so far are meant to be building blocks of a larger program that could be used to build a composition or architecture for tune generation. This is the first ‘big’ algorithm, meaning that you could easily fill up most or all of the available I/O... read more

Probabilistic Triggers

This is a demonstration of the wide variety of patterns you can get from a few lines of code running on the ‘b. Another notable aspect of this program is the level of playability you get from just a few inputs. This program is very simple. It is ultimately... read more


The source for this demo on Ardcore can be downloaded here. The ‘b version is available as well. Please note that the ‘b version includes both the pitch and envelope CV signals and therefore won’t run on the Ardcore. When you want to play a sequence of notes… you... read more

Second Hardware Prototype

Prototyping is still moving along. We have a prototype built of the main board which contains all of the input and output interface circuitry including output level conversion and drivers, input level conversion, protection circuits, and so forth. The arduino mounts directly to this board on one side, and... read more


This tutorial sets up a bunch of weird clock divisions/triggers on the Ardcore expansion’s digital outputs. Download Download sketch for nw2s::B Download sketch for Ardcore Event Manager The first thing that every nw2s::b sketch needs is an EventManager. EventManager::initialize(); 012  EventManager::initialize();  The EventManager is the source of timing for... read more

First hardware prototype

This is a second sequence demo which is in place to demonstrate the following: 1. Four simultaneous outputs 2. CV sequencer 3. Entropy driven devices 4. Multiple clocks running at different tempos It’s envisioned as a two voice sketch, but that’s just the way I hooked it up. Voice... read more

Framework POC

I’ve been developing a framework for algorithmic composition using microcontrollers such as the Arduino or Beagle. The code is currently supported on the Ardcore which runs on the Uno as well as the Due which is the board I’m using in a multi-output design. The goal of the framework... read more