Norns 2.0 beta

at last. (or more correctly, almost at last?)

this is not for everyone! here’s why:

  • requires some command-lining. this is not a one-click. please consider waiting for the final 2.0 release if you don’t have some familiarity with the command line.
  • does not include very many scripts, so you may be disappointed
  • existing scripts from 1.0 will need some minor correction
  • docs are preliminary and in-process
  • there may be bugs, though we’ve been testing (and using) this build extensively

here’s the plan:

  • if you’ve been writing your own scripts and don’t have any performances coming up, you’ll probably enjoy this update.
  • please ask for help here in this thread re: updating scripts and sharing. we can help
  • please post bug reports here.
  • if you’re interested in helping with documentation let us know
  • release a proper 2.0 in a few weeks, which will coincide with a new category on lines, “Library” to coordinate script/patch/app sharing/collecting in various environments

what’s new/different

  • primary DSP (mixing, routing, reverb, compressor, vu’s) are now handled by a standalone (ie, not supercollider) called crone, created by @zebra. inside the mix matrix is softcut which runs always. crone interfaces with jack and has an ext i/o port allocated for external applications (such as supercollider). CPU management is much improved, ie no glitches with reverb on.
  • softcut quality is massively improved thanks to @zebra. it really feels like scriptable digital tape and sounds fantastic.
  • supernova (multi-core supercollider) has been replaced with the standard scsynth.
  • the MENU system is overhauled. see
  • the DUST sharing/collecting approach has changed. see
  • the WIFI system has changed (now uses a different management system, thanks @ngwese ). connecting to router/networks is more reliable. unfortunately hotspot is now broken, though we’re working on it. we have removed SYNC from the menu, all file management should happen via SFTP. see the guide for SFTP. update! super great driver/kernel fixes by @simonvanderveldt
  • arc support (thanks @artfwo) and updated hid support (also thanks @okyeron)
  • tons of minor improvements and bugfixes, will have to wait for a proper changelog

moving forward

  • some syntax has changed for metro and grid that will break existing scripts. it’s easy to update these, and we can help: see
  • new approach to sharing. previously all scripts were shared into a single repository (dust). there is a new shared repository though many have vocalized a preference to keep scripts in their own repos (for management and updates/etc.) additionally you’ll be able to create threads (in the new category, Library) dedicated to a script, where you can attach a file (or github link, or gist). we’re working on easy-sync/gathering features, but in the meantime it’s suggested to use the command line (cut-paste ie cd dust; git clone and SFTP.

in short: fix your scripts (with our help) and get them into your own repo or the we repo. on the launch of 2.0 we’ll have a list of working scripts. as a side note, fixes aren’t hard. i fixed all of @markeats scripts myself in just a few minutes (if you take away the time i spent being distracted and playing with them all).

i read all of the above!

IMPORTANT! this update copies your old dust folder to dust-old but i’d highly suggest you back up anything important prior to running this update.

download: 190320 (beta)

old: 190314

download: 190314 (beta)

old: 190303

download: 190303 (beta)

Update in 10 simple steps

(thanks @carvingcode for the explicitly described steps below!)

Step 1: Download the update file.
Step 2: Use SFTP to copy update file to the norns’ /update folder.
Step 3: Attach USB A to USB mini cable between the norns and the computer. The one that comes with norns for use with the power adapter works fine for this.
Step 4: Open a Terminal app. On MacOS, use the keyboard shortcut Command - Space, then enter “terminal” in the search window. On Windows, use Window + R, then type “cmd”. On Linux, there are several different methods. Search “How do I open Terminal in Linux with keyboard?” for the best way for your Linux version.

Step 5: Type (don’t copy/paste) this line into the Terminal window. Note: Replace (tab) with an actual press of the TAB key on your keyboard.

screen /dev/tty.usb(tab) 115200

Step 6: When you see the blank Terminal screen, press RETURN or ENTER.
Step 7: Log in to norns, using ‘we’ for login and ‘sleep’ for password.
Step 8: Check to see you have enough disk space to perform the update by enter the following into the Terminal window. You should see 80% or less in the top-right.


Step 9: Enter the following, one line at a time. Wait for each line to complete before entering the next. Note: Some lines take up to a minute to complete. Be patient.

	cd update
	tar xzvf norns190320.tgz
	tar xzvf 190320.tgz
	cd 190320

Step 10: Lastly, enter the following to shutdown norns, then manually restart by holding Key 1 for 3 seconds.

	sudo shutdown now

That’s it. You should be up and running in v2 beta.

full disk reset

if you want to do a full disk reset you’ll need to install a bunch of command-line stuff. currently confirmed working on linux (raspberry pi’s work fine) and macos 10.14 (do not attempt with earlier versions). instructions here (more thorough, for macos) and here (more technical?) (apologies, i will merge these soon.)

download: 190320 forthcoming

old: 190314

download: image 190314 - 1.1gb (please conserve bandwidth, don’t download if you don’t need this)

old: 190303

download: image 190303 - 1.1gb (please conserve bandwidth, don’t download if you don’t need this)

bonus (thanks @simonvanderveldt) this image works on CM3+ modules.

i’ll update this top post with clarifications as questions come up.

thank you for your patience and thank you everyone who helped make this system come alive. i’m very excited to explore it further. enjoy!

ps. cool thing. since softcut is always-on, you can include sub-scripts that define just softcut behavior. ie, in awake i included a small softcut script which makes a (very simple) variable delay!

update 190314

  • your old dust gets backed up to dust-old2/
  • changed dust folder layout. see but basically all script folders now go in the root dust/ folder and audio/ has been moved out to the home folder.
  • ENGINES now live in dust. moved everything to the we repository. feel free to move your engine into your own repo if desired (submit a PR).
  • all of the fixes and changes described in the thread so far
  • supercollider updated properly
  • some OS fixes for performance

update 190320

  • old dust gets backed up to dust-old3
  • after much discussion (!) we reverted back to the old dust folder layout, but renamed scripts to code
  • wifi driver change, kernel update, system performance @simonvanderveldt @ngwese
  • tape fixes, softcut buffer save @zebra
  • param:read and param:write now accept numbers to read/write psets to user data folder. also accept path to read/write outside the user folder.
  • tons of little fixes
  • things i forgot that will go in the changelog on release

thanks @jah for great work on 2.0. some scripts here:

i forgot to point out the angl (featured in the norns-arc video) is included in the we repository. and the new mlr (included) uses the new softcut system… though i haven’t finished testing all of the features (particularly the file import section). my big revision of mlr will be ready by 2.0 proper.


Oh, awesome! I have a CM3+ here and was waiting for support before installing it. I’m going to try this out and report back. If I screw something up, I can just reinstall the old CM3 stick without needing to do anything else, right?

Very excited to check out this update. Congrats, everyone.

1 Like

correct. swapping the CM3 is like changing a RAM stick (it’s a SODIMM slot)

when taking apart the unit remember there are nuts on the encoders! everything else is just screws, no big deal. perhaps leave the battery plugged in because it’s a major pain to get in/out.


Any chance that you could upload the image to another service like Dropbox or Google Drive? It’s giving me a 7-12 hour download time estimate.

And here’s a few of demo scripts to play/test with:

HID Demo
hid-events.lua - Plug in an HID device and get some data back. Good first step to see what your HID device is sending.
hid-keyboard-test.lua Plug in a USB keyboard and type some text on the norns screen. This is also a demo of my keycodes library which is in the lib folder of the repo

midi-clock.lua - an example of getting clock in/out of norns. Plug in a drum-machine and see how it works.
midi-devices.lua - prints midi device info and incoming midi messages to the maiden REPL

An arc demo! It’s pretty much just a clock. :slight_smile: Based on a maxpat by JP

EDIT: I updated the MIDI examples a couple times tonight. Pull the most recent version again if you like :slight_smile:


i’ll see if i can transfer it to google drive. that’s bizarre that digitalocean would be slow. i was able to upload it incredibly fast.

After updating I’m getting a wifi status of unavailable, I can’t seem to coax it into activating either hotspot or connect. (Hotspot has no ui feedback, and connect goes to a blank screen)

hotspot is known broken, don’t attempt. does ADD show any networks? try a reboot with wifi nub in.

if all fails, try connecting via serial. type nmtui for a native text UI interface for the networking system. it should show scanned networks.

Ok cool, thanks! On most recent attempt with nub moved port (maybe placebo), add shows up networks and I’m up and running in maiden :smiley:

I updated in just a few minutes. Not a difficult process.

I noticed a few things different, mainly the different method now to get to the ‘levels’ page. ENC 1 now has 4 pages of items.

Need to ADD the wifi item first. Mine auto-connected after adding.


1 Like

If anyone has the same issue, I think it just took a while for ADD to find available networks.

1 Like

Motto: "Install first, then read the docs. " :slight_smile:


Where are engines located? Will engines from v1 (eg: KarplusRings) be ported to v2?

1 Like

Wonderful! I will get to installing and updating scripts tomorrow.


running via SSH and progress is stuck on ‘removing hostapd’ — idle for about 10 mins. expected? can i safely reboot if no?

edit: woop, looks like i simply lost connection from terminal to the norns hotspot and i bounced back to home wifi. phew. leaving this as a heads up for others: DO NOT PANIC AND CHECK YR CONNECTION.


Update seemed to go okay (did USB as my wifi/hotspot has not been working).

Wifi detects my network and connects for a bit and then drops out, and never gives me an IP address. :thinking:

edit: makes me wonder at this point if there’s any possibility the source of my wifi/hotspot woes has been a faulty nub?

Revised motto: “install fast, never read the docs.” :wink:


switching from Awake to MLR and back to Awake, getting this in matron:

lua: /home/we/dust/scripts/mlr/mlr.lua:431: attempt to index a nil value (global 'track') stack traceback: /home/we/dust/scripts/mlr/mlr.lua:431: in function </home/we/dust/scripts/mlr/mlr.lua:429>

weird that mlr errors are showing while Awake is loaded. maybe bug?

1 Like