Using maiden in the web browser is the most straightforward way.

just access norns via http://norns.local

it provides both a file brower + editor and a REPL (shell) allowing you create and edit scripts, launch them an see their output.

remote access via command line


One can directly hop onto norns via SSH / USB serial.

Then, script can be edited directly with prefered editors (such an nano or vi).

The maiden REPL can also be spawned from the command line.

Here is a walkthrough of the process:

sshfs - mount source files locally

sshfs allow to locally mount remote norns filesystem as if it was local, allowing you to use any prefered local editor.

mkdir /home/Documents/norns_mount
cd /home/Documents/norns_mount
sshfs we@norns:/home/we/dust dust

Depending on your editor of choice, some more optimal options might be available (see bellow).

maiden-run - automatic reload

maiden-run allows to automatically reload a script when saving its source code.

editor integration

All those setup allow interacting with norns at the confort of your familiar editor runing on you main computer.


This comment describes a working setup for remote integration with atom.


to enable Lua and supercolider support:

;; lua

(use-package lua-mode
  (setq lua-indent-level 2))
;; sclang

(defvar my-supercolider-scel-path "~/.local/share/SuperCollider/Emacs/scel")

(let ((sclang-dir (concat my-supercolider-scel-path "/el")))
  (when (file-directory-p sclang-dir)
    (normal-top-level-add-to-load-path (list sclang-dir))))

(when (and (locate-library "sclang")
           (locate-library "sclang-vars"))
  (use-package sclang
    :ensure nil

Emacs can access norns filesystem as if local using TRAMP.

	M-x find-file

to prevent having to re-type the password each time, put this line in your ~/.authinfo:

machine norns.local login we port ssh password sleep

TO launch the REPL, you can spawn follow cli isntructions after spawning a remote shell using either:


COde on norns can be accessed as if locally using Remote - SSH extension.

@midouest made a vscode extension to spawn and interact with a remote maiden repl session from vscode.

vim / neovim

vim-norns provides various commands to spawn and interract with a maiden REPL.

scvim for supercollider syntax.


installing extension classes (ugens…)

Simply drop them into /home/we/.local/share/SuperCollider/Extensions/.

Subfolders are allowed.

see sc doc for more info.

norns engines on desktop

first, you’ll need to copy both your engine code & norns’ supercollider sources into your supercollider extensions folder (or any subfolder). in scide, you can find the extensions path by running Platform.userExtensionDir;. recompile your class library & you should hear a familiar tone on boot.

using this strategey, you can use your engine .sc class code as-is and test out commands in a seperate .scd file using CroneTester. first, set the engine - CroneTester.engine('myengine'); - then send a command CroneTester.cmd('mycommand', [array, of, arguments]);. for midi-like code you can use a snippet like this:

MIDIdef.noteOn(\keybOn, {
    arg vel, nn, chan, src;
    CroneTester.cmd('noteOn', [nn, nn.midicps, vel]);
MIDIdef.noteOff(\keybOff, {
	  arg vel, nn;
    CroneTester.cmd('noteOff', [nn]);

See also: Mac OS specific instructions

controlling local supercollider with norns

patch value of ext_addr / ext_port in function o_init in /home/we/norns/matron/src/oracle.c to point to your desktop IP.

original comment.