norns: new image 220306

@alanza’s got it – there are also a few nice things in the 220306 update, like confirmation when deleting a PSET, more stable TAPE number auto-incrementing (so you don’t overwrite TAPEs with the same index), and a reversal of the param name collision errors which would cause init errors on scripts with overlapping params names (more background for the curious).

but yes, the most important bit to note is that after transferring the files you’d like to keep from norns to another computer, a disk wipe + fresh install with the new software is required for you to keep your norns up to date via the menu moving forward:

please let us know if you run into any other q’s!


Thank you @alanza and @dan_derks :pray:

1 Like

seems related?
[ screen is blank after boot with 2+ USB devices · Issue #1488 · monome/norns · GitHub ]
@ngwese those URB errors…

[ed] sorry to be brief, i should mention that i’ve personally had no issues using several simultaenous devices including UM-1 with factory norns/CM3 on this kernel.

I will not be able to investigate more deeply until later this evening but I just preformed the following test:

  • rpi3b-shield running the release image
  • small gauge usb cable and a usb hub for power, essentially a power source that is insufficient to meet peak power demands

I then booted the device multiples times:

  • nothing attached => okay
  • added Roland um-one mkII MIDI interface => okay
  • added iConnectivity mio1 => okay
  • added iConnectivity mio2 => jack fail (i.e three midi interfaces attached)

I would not be too surprised if the new kernel behaves differently from the previous kernel when the device is starved for power. Given that we are also using a different driver to configure the codec I could also imagine that in the presence of under voltage conditions the new driver might not enable the codec.

Long story short I suspect these failures may likely be power related.

UPDATE: I should also add that I’ve observed that the new kernel is more willing to pull the CPU out of performance mode (which we set by default) and force it into on demand mode which drops the CPU clock speed by 50%. Previously this resulted in under voltage warnings and starving USB bus. If the device starts feeling sluggish or boots slowly with lots of USB devices plugged in that could also be an indicator of insufficient power.


The instructions for flashing a shield mention to chose the correct version depending on the codec. How do I find out which one I have? Bought mine from a maker, closed encasing. Is there a menu that shows that?

1 Like

I’m not sure you can tell which codec you have from inside the software, but you can narrow it down a bit - is the charging port usb-c? That’s a pi 4. micro usb? That’s a pi 3b.

And when did you buy it? Unless it was very recently, you can narrow down the date, too :wink:

Anyway, you won’t hurt anything by trying to flash the wrong firmware, it just might not boot / give you JACK FAIL / etc

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.

This includes KarplusRings, and now awake-rings doesn’t load, how it’s the new code supposed to be in this case: = 'KarplusRings' ??

You will need the cs4270 image - all the hardware that is in people’s hands today uses that codec. Only the 2022 rev shield boards use the cs4271.

There is no way to see which codec the device has from the menu but the codec is reported as part of the sound card description when by running the following in maiden’s repl: os.execute("aplay -l")

The output will look like this:

**** List of PLAYBACK Hardware Devices ****
card 0: sndrpimonome [snd-rpi-monome], device 0: bcm2835-i2s-cs4270-hifi cs4270-hifi-0 [bcm2835-i2s-cs4270-hifi cs4270-hifi-0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
true	exit	0

The charging port will help to identify the rpi3 vs rpi4 but that is completely independent of the which codec is on the shield. The most likely combinations as of now are rpi3+cs4270 and soon the 2022 rpi4+cs4271.

1 Like

Smoothly update on my standard norns. Thanks!

MacBook Pro (16-inch, 2019), Catalina

balenaEtcher v1.7.7

norns version: Standard factory norns, purchased in late June 2018

1 Like

uninstalling WE, powering off/on and then reinstallin WE worked for me.

Nice, so just to be clear, unless you’re from the future, you can choose a hex by what power port is on your pi?

  • micro-b usb, shield: norns220306-shield-pi3-cs4270.tgz
  • usb-c, shield: norns220306-shield-pi4-cs4270.tgz
  • mini-b usb, machined aluminum: norns220306-standard.tgz
1 Like

What makes things easier is that official Norns image (shield or factory) hasn’t supported rpi4 up until this specific image version. Fates does, but that’s different hardware and fork maintained by someone else.

So if you have a shield, you aren’t from the future and you haven’t built a wholly custom Norns image for your shield yourself (you’ll probably know this from the pain you’ll always remember), it’s always going to be rpi3+cs4270 as far as the shield goes, until the new shields start to ship.


Hmm, confused. As usual.
Is this something we should all be doing?

@mcarth + @Klinik – i’ve put in a PR with @GoneCaving to bundle the KarplusRings engine into the awake-rings script installation.

we has been officially deprecated + removed from the community repository. manually installing we on 220306 and later will cause errors, because there will be duplicated copies of PolyPerc and PolySub – these engines are part of the standard norns OS now.

if you’ve manually installed we onto 220306, please delete it. once the PR is accepted, KarplusRings can be re-installed by updating/installing awake-rings. sorry for the confusion and brief downtime for this fantastic engine!

yes – it’s been made a bit clearer in the top post and i will call this out more directly in the documentation. you need to perform a fresh install of 220306 following the instructions linked in the top post in order to update your norns via SYSTEM > UPDATE moving forward. please lmk if there’s any other q’s, these are really helpful temperature checks :gem:


I did some more „testing” (i.e. plugging and booting). I used a Norns Shield with RPi3B and the original RPi power supply.

Whenever I tried to boot with more than 2 USB devices, Norns crashed with “Jack Fail”. What exact device was plugged in didn’t seem to make a difference. It certainly doesn’t have anything to do with the Korg nanoKontrol.

If you don’t mind unplugging your devices, this really isn’t much of an issue, as the solution is simple enough. All of my devices work normally, once I plug them in after the boot process, even if I use 4 at a time.

1 Like

Thanks Dan, will hopefully get to that later on today.

Edit: Merged.

1 Like

If anybody wants a list of installed scripts in order to do fresh installs, you can run this in maiden:

os.execute('for d in ~/dust/code/*; do cd "$d"; git remote get-url origin >> ~/dust/data/scripts.txt; done')

If you’d prefer to only have the script name, not the repo url:

os.execute('for d in ~/dust/code/*; do basename "$d" >> ~/dust/data/scripts.txt; done')

Please, does anybody know whether this is a shield-specific issue or does this also affect standard norns?

1 Like

While not an exhaustive test I just booted a standard norns off its internal battery with two grids, one arc 4, and a wifi nub attached. Everything started up cleanly.

I am sure there is probably a USB device combination out there that could push a standard norns over the edge but its power system is substantially different than a standard rpi3 due to the internal battery.


having problems with my norns silver over here. ive downloaded the image and etcher. but etcher will not recognize my norns. it hangs up saying “initializing device” next to “compute module” and will not budge. the norns is also not showing under my disk utility. ive tried all my usb ports and 3 usb adaptors. im running a 2021 mbp. help please.