Orac, Sidekick and Pure Data for Norns

Orac, Sidekick and Pure Data for Norns

These are 3 related projects :

  • Orac - Pure Data based Modular Sync
  • Sidekick - a utility to allow for application switching on Norns
  • NuiLite - a C++ and Pure Data (external) for developing standalone apps.

(more details to come…)



Known issues

Change Log

0.95 - New install procedure for all, MEC cpu optimised, ‘check for updates’ feature
0.93 - New install procedure
0.92 - Factory norns only experimental release, download from DROPBOX, see details below
0.91 - Dixed for rPI3 fates board, reduce error logging on 3 enc norns
0.90 - Initial beta


DIY Norns
Factory Norns


Installing orac/sidekick/pure data for the first time:
a) network connection
ensure your norns is connected to your local network via wifi, and that it has connection to the internet.

b) log in to Norns

ssh we@norns.local (password: sleep) 

c) run the installer
copy n’ paste the following command to your norns, and press enter

sudo curl https://thetechnobear.github.io/apt-norns/install.sh | sh

Thats it your done, subsequent updates can be done directly from Sidekick (see below).

note: if you installed orac/sidekick using the old method of copying files to the norns, you should use this ‘first time install’ procedure too.

Updates to Orac/Sidekick

when you would like to update Orac and Sidekick, you can do this directly from Sidekick

  • network connection
    ensure your norns is connected to your local network via wifi, and that it has connection to the internet.
  • in Sidekick, select ‘Check for updates’ from the menu
    this will then automatically update whatever components are needed to be updated.

Using Sidekick

Sidekick runs quietly in the background, until you ‘activate’ it

to activate sidekick , press all 3 buttons at the same time for 5 seconds

(note: activating sidekick will quit the current active application)

after this a list of applications and ‘actions’ for sidekick will appear,

use ENC 1 to select, and button 1 to select the action/application.

additional notes:

  • you may add new applications to launch in ~/sidekick/system, and pure data patches in ~/sidekick/patches
  • when the norns first boots up, sidekick will start the last application that you used (or norns when first run), however if you hold down BUT 1, this will prevent this, and instead bring up the menu.
  • sidekick has a preference file where a defaults can be altered (e.g time to activate)

Using Orac

for an overview of Orac, I recommend watching loopops excellent introduction to orac2

whilst this is shown on the Organelle, its basically the same on Norns,
except we need to use the following ‘controls’

Main control

But 1 = bring up menu
But 3 + enc 2 = switch module
But 3 + enc 3 = switch page
(But 2 will become Aux in future release!)

on 4 encode norns - enc 1to enc 4, change values on page.
on 3 encode norns - enc 2 selects parameter, enc 3 changes values.

Menu control

once menu is brought up.
Enc 1 = scroll menu items
But 1 = exit menu
But 2 = back
But 3 = enter/ok

note: module selection
modules are categories into groups,
when you enter the menu, it initially has the current module selected,
if you want a different type of module, scroll to top to ‘…’ and select, to traverse hierarchy.

Other notes

  • if your are a Monome Norns owner, Id also love to get some feedback from you, and hear your thoughts , see this post

  • Using VNC for remote editing of PD, see this post

  • Advanced Midi setup
    midi should work ‘out of the box’ for most controllers.
    however, you can edit post-patch.sh, to form additional/custom midi connection
    I cover many related topics in a post/video over at C&G forum

  • Advanced Configuration/Setup
    Norns / Fates are currently built on Raspbian. I think that the Blokas (guys behind PiSound) forum is one of the best forums for information about setting up/using rPI for musical use - they are also super responsive … so if want to do something , check out their forum

more info

  • Orac wiki
    early days, but a place for the community to help document Orac.

Additional Downloads

Demo Pure Data apps featured in video

SimplePd - https://patchstorage.com/simple-demo-patch-for-norns/
PolyPd - https://patchstorage.com/polypd-for-norns/

Source code

Orac - https://github.com/TheTechnobear/Orac (dev branch)
pure data side of Orac

Mec - https://github.com/TheTechnobear/MEC (dev branch)
interface to Orac, Norns and other stuff

NuiLite - https://github.com/TheTechnobear/NuiLite (master branch)
(includes Sidekick and Pure Data External)

Known Issues (0.95)

  • some PD patches having initial screen overwritten by 'Launching "
    this is caused by the new paint optimisation, now fixed in dev
  • Upgrading sidekick, removes ‘additional’ PD patches
    caused by overzealous removing of ~/sidekick during upgrade/remove
    I need to change the debian packaging so that upgrade and remove are handled differently.

Upcoming features

as well as fixing above issues, here is what I’ll be hoping to add.
note: this does not include generic (cross platform) orac changes.

  • aux button/aux line/aux status (high priority)
    the aux button is used in many patches to do a variety of things, e.g. start/stop sequencers.
    currently you can activate this using a midi CC (see router midi settings).
    however, I plan to make button 2 the ‘aux’ button, and then display the status etc on Norns at bottom
  • but 3 + enc 1 (?) - overall volume control.
  • midi activity/audio levels (mid priority)
    it be nice to show currently input/output levels, and some indication of midi activity.

Generally I consider this a kind of ‘BETA’, in that Id like to see what people make of it, how useful it is…
I know of a couple of minor issues in Orac/MEC, which I’ll fix in next few days, but hopefully some feedback from the beta can guide a few things.

Testing :
Im using the fantastic ‘FATES’ DIY norns as detailed in this thread.
I see no reason that is shouldn’t work on a standard norns (and i have tested the 3 encoder form)

No changes are made to the existing Norns software when you install this.


wait… what?! :open_mouth:

Here we go!


Wow, that was fast :slight_smile:

LOL, good timing, I just sat down to play with the Fates and saw your message.

1 Like

Well done! 20 char of :grinning:

1 Like

Holly sh… , Mark you’re a genius!!

1 Like

are there any written instructions or an installation guide/faq?

So… Is it easy to port organelle pd patches to norns using sidekick?


I haven’t had a chance to load up the new version, but I may write up some more detailed install instructions on my Fates github at some point.


for installation there is not really anything to it… standard Linux stuff.

copy deb files to norns, then

sudo apt-get install -y ./*.deb

that’s it. ( this is shown in the above video)

the nui pure data external, I planning on a adding a few more graphics mthods, and then updating the ‘demo’ apps - I guess that’ll then become a help file , as is standard practice for PD.

some of the orac community are now starting to work on a wiki in the orac repo (detailed above).
this is great, as all this is open source, its really cool when the community helps out, and the perspective from non-developers really improves the quality (imho)

1 Like

really depends on the patch…

the older ones, that used screenLineX , should pretty much work with copying the mother,pd that I included in the PolyPd example.

the more recent ones, use an extended graphics api , which I need to go thru and add the corresponding methods to the NuiLite/pd external.
adding new graphics methods is pretty easy… just have to find the time, or others can extend if they know a bit of C++ - and follow example of how the existing ones are implemented.

good news is, screen dimensions are the same on the organelle, so that’s not going to cause any issues.

1 Like

is this possible with my very diy norns. i have used diff gpio’s for enc and buttons as my soundcard had conflicting pin usage. i have followed the youtube video but when i press all 3 enc my norns freezes. :slight_smile:

(I believe) the GPIO assignments should not matter if you have them setup in a device overlay to be knob1, keys, etc. (assuming you copied that from the norns source and norns software runs normally for you without modifications).

But… I’m not entirely sure how Mark has that laid out in code.

1 Like

Stoked! Now I can swap patches with my Organelle-equipped friends!


As @okyeron says if the overlay is the same should work.
You could try running sidekick manually on command line as described in the last part of the video ,

@TheTechnobear all is working well w Orac demos, so fun to play with Braids polyphony using a MIDI keyboard! Only thing I’m having trouble with is no sound output using the PolyPd patch. If you have any pointers that’d be great – I don’t know pD so I’ll also start digging into that to see if I can figure it out.
UPDATE: I pressed button 3 and now have sound, yay! Oddly, the fourth knob value has decided to tie itself to the other three knobs (I didn’t add a fourth encoder to fates yet), so if I change Tune, Vibrato Rate, or Vibrato Depth the Decay time also changes. Odd. I must have clicked something in the Pd patch without meaning to.
UPDATE 2: Hmm back to original behavior where button 3 does nothing, and volume is at zero. Decay parameter doesn’t update automagically with other encoders, so that’s good.

1 Like

My Pi-3b fates just latches when I press the three buttons… anyone else get a 3b working?

I am working with a 3b+ and I’m getting crashes when I hold down the three buttons. I’m using a FATES board and for some reason Sidekick can’t be accessed. Might do a purge and try to reinstall it.

Oops - yep, I’m using 3b+ too. Wonder if that’s what’s different.