norns: new image 220306

220306 disk image

  • operating system: bullseye
  • pi 4 support
  • support for the new shield audio codec
  • norns update 220306

immense thanks to @ngwese for detangling, testing, and automating so much of the complex kernel business. these efforts brought pi4 compatibility to the shield— and due to global shortages— this means that greg really made it possible for us to release more shields!

full disk wipe required! save your files!

before you jump in, be absolutely sure you’ve saved anything you don’t want to disappear.

if you have edited any scripts to your own needs, or written any scripts of your own, please make sure you’ve copied those files to another computer or web repository.

if you have only downloaded scripts from others (or have already backed up your own scripts/modifications) and wish to retain audio files, script presets, midi mappings, etc – simply copy your entire audio and data folders, which live inside of dust. after you restore these files to the fresh norns installation, we encourage downloading fresh copies of the community scripts you want to use.

installation instructions

note: the new disk image ships with the bare minimum scripts: awake for tradition, and firstlight to encourage script editing. you’ll likely want to immediately set up wifi, go to maiden, and browse the ever-growing catalog.

norns 220306

this update (and access to subsequent updates via the SYSTEM > UPDATE menu) is only available by installing the fresh disk image. we needed to do this in order to have a consistent base operating system across all norns devices, and make future updates (and support) much easier. i do apologize— it’s a hassle, but also new cool better (and free)

norns 2.7.0

  • NEW image surfaces for drawing, png loading, and reuse @ngwese
  • NEW core engines now included @tehn @catfact
  • FIX remove boost dep @catfact
  • NEW jack load monitor, xrun report @catfact
  • FIX tape index from file system, not index.txt @stvnrlly
  • NEW pset delete confirm @nattog
  • FIX param collision warning instead of error @catfact

@ngwese made a reusable sprite system which is a huge optimization for various screen drawing use cases. docs forthcoming.

@zebra added some great utilities for monitoring jack load and xrun detection: the new indicators are on the main menu screen

i’ve deprecated the we repository which had some outdated tests but also had some worthy engines. these engines (including PolySub and PolyPerc from awake) now live in the core norns repository. there are a handful of scripts that use polysub.lua which is now located in the core. the fix: change include('we/lib/polysub.lua') to require('polysub') and all is well.

i’d like to reiterate (from the shield announcement) that we’ll be enforcing cpu load compatibility for the cm3/pi3. if you’re designing a heavy engine on a pi4 be aware of optimization and efficiency prior to submitting for catalog inclusion.

we aim to keep the platform maximally share-able.


please report any issues— we’ll try to address them right away. thank you for your continuing support and patience and participation.


3 posts were split to a new topic: jack fail during operation

hyped by this (and all the rest of course ^^). native double buffer drawing made possible?

iirc, @sixolet had to rely on a lua-side buffer + screen.poke for nydl, to overcome drawing slowness with the default API. something more native is quite welcome.


The script is still responsible for drawing to an image (at some point) and then copying that to the screen but it is fairly trivial to setup double buffering. In my mind the real power comes from being able to copy a subregion of the source image to screen.

I’ll try to put a demo script together in the next day or two.


Amazing, this was my biggest issue with norns ha

gonna try once i get back from gigs next week


ah spritesheets essentially. rad.

Nice, great update :smiley:
Especially the pset delete confirm

Just an FYI for MAC users, if you run into problems while SSH-ing into your Norns Shield to expand the filesystem just use the bottom most comment here.

Your Mac stores a list of all SSH clients and since you just reflashed your Norns your Mac now thinks that the newly imaged Norns is someone pretending to be Norns and gives you a “WARNING MAN IN THE MIDDLE ATTACK” messages.


just reporting that everything is working well with the new image on my 200323 shield! thanks so much for all the amazing work @tehn, @ngwese, @zebra and @nattog.


As this will be my first update, I would appreciate a quick confirmation:

  1. this means I cannot use the update process ON norns?
  2. But instead need to flash the SD card?
  3. After I copy the dust folder back to Norns, everything will be the same as before? Or is there a configuration step to take (e.g. Wifi, midi clock, devices)

yes, that is what it means. there is no update script this time, only a disk image


in general, no, it will not be a total and exact restoration. more specifically:

  • WIFI configuration in particular will not survive. sorry!

  • the top level of ~/dust/data contains system-level configuration files that can be carried over:

    • editor.json
    • grid-settings.state
    • system.favorites
    • system.mods
    • system.state. (<-this one includes clock settings and device port assignments, etc)
  • in general, script-specific preset data under ~/dust/data/<script>/ should carry over, barring the case of breaking script updates.

  • many scripts will be fine to copy over. but these days, there are quite a few scripts that install their own dependency packages in the linux system when they are first run. (yuck!) so in general, i can only advise that scripts should be re-installed to a fresh ~/dust, then any favorite .pset or .pmap files you want to save for particular scripts can be copied over.


Thanks for the update. Just a little thing: there is a mismatch between file names of the disk image on github and in the docs, e.g. norns220306-shield-pi3-cs4270.tgz (github) vs. cs4720.tgz (docs).

oh! there shouldn’t be any specific .tgz-tagged references in the docs, just the callouts which encourage using the cs4720 cs4270 images for older shields and the cs4721 cs4271 (ah! typos discovered!) ones for newer (example), along with the pi3/pi4 consideration. since the norns220306 part of the filename will change with future updates, hardcoding it into the documentation leaves room for error. if you saw any .tgz references, implying an exact filename rather than this general guidance, please let us know where and we will correct it!

1 Like

Hi there, i put the Standard image on my SD card and get an error message on my Norns Shield (from sept 2021) - did i flash the SD card with the wrong image ?

yes — standard is for the machined aluminum version of norns.

no worries tho! for pre-2022 shields running on a pi3, choose the cs4270 file for pi3 (the top one) :slight_smile:

the docs linked on that download page does this a bit, but we can also post a lil matrix on that page which gives direct “if you have ___ and ___ use ___”, if that’d help?

table made!

hardware version software version to download
pre-211028 shield with raspberry pi 3 norns220306-shield-pi3-cs4270.tgz
211028 revision shield with raspberry pi 3 norns220306-shield-pi3-cs4271.tgz
pre-211028 shield with raspberry pi 4 norns220306-shield-pi4-cs4270.tgz
211028 revision shield with raspberry pi 4 norns220306-shield-pi4-cs4271.tgz
machined aluminum norns (aka ‘standard’ norns) norns220306-standard.tgz

Thanks Dan :slightly_smiling_face: Now i installed the right image. I flash the micro SD card with Etcher, and re-powers Norns Shield but keep getting the “Jack Fail” message.

Edit: apparently it helped to pull out all USB cables and try again. Now Norns boot how normal - but when i attach USB devices i get the “Jack Fail message”

Edit 2: did some more investigations. I am able to attach my Grid (Neo) and Nanokotrol2. But When i attach my UM-One interface, I get the “Jack Fail” message when sleep restarting.

Flashed the new image, everything working so far, but norns shield now takes a lot of time to boot up, anyone else having this same issue?

Jack Fail
I have the same “Jack Fail” issue when Korg nanoKONTROL 2 is plugged into USB at the start of Norns Shield (V210330). Other USB devices seem ok. Also the Korg works fine if I plug it in later. So far no other issues in my tests with different scripts, midi, recording etc.

File Names
The thing with the file names was badly described by me: it’s the numbers that are not the same in the docs and the file name on GitHub: 4720 vs. 4270. You can also see it in the screen shot above. Just a small thing really.

1 Like

lolol ah geez, thank you so much. dang, shouldn’t do support right after waking up :sweat_smile:
correcting now! corrected!

sorry to hear about the trouble – grabbing some gear to test out, hang tight!

Does this relate to shields only or should I do this for my factory Norns?

The benefits are only spelled about above in “computer-nerd” jargon :nerd_face:

As a regular person, what’s my reason to update?

Thanks :pray:


I think the reason for updating a factory Norns is so that you can continue on with further later updates.