Norns on Zynthian Hardware

Hi there! What are your views on being able to run norns on a zynthian box? In case you’re not familiar https://monome.org/norns/.
There is already quite some development going on for using Norns on a Raspberry Pi. The problem pointed out by many is the lack of a screen and encoders on a pisound, which is what most of the people there use. This however would be perfectly solved by the encoders and screen on a zynthian box!
Even greater would be integration within Zynthian os but that may be a leap taken too far for the moment.

2 Likes

Seems to be an interesting project.

I made a simple install recipe, if someone want to test this:

sudo apt-get install libevdev-dev liblo-dev libudev-dev libcairo2-dev liblua5.3-dev libavahi-compat-libdnssd-dev libasound2-dev cython liblo-dev cmake libsndfile1-dev supercollider-dev libboost-dev libboost-thread-dev libboost-atomic-dev libboost-system-dev libjack-jackd2-dev
git clone https://github.com/monome/libmonome.git
cd libmonome
./waf configure
./waf build
sudo ./waf install
cd ..
git clone https://github.com/nanomsg/nanomsg.git
cd nanomsg
mkdir build
cd build
cmake ..
make
sudo make install
cd ../..
git clone https://github.com/supercollider/nova-tt.git
cd nova-tt
cat >> CMakeLists.txt << EOF
add_definitions(BOOST_SYSTEM_NO_DEPRECATED)
EOF
#mkdir build
#cd build
#cmake ..
#make
#sudo make install
#cd ..
cp -R nova-tt /usr/local/include
cd ..
git clone https://github.com/monome/norns.git
cd norns
./waf configure
./waf build
sudo ./waf install

After this recipe you can try to use it by following the instructions from here (step “configure”).

Regards, Holger

Dear Holger,
thanks for the swift reply and the install script. Great! I do not have zynthian/pi yet, am ordering today :slight_smile: But will try once it arrives.

@emji-1 I just tried to get it running on my test RPi (just a native stretch - no Zynthian, no display) and and I couldn’t get it to work due to jack/display problems. So I don’t know if there maybe much more to do. I am very short of time for trying, so I hope you have some time for this :wink:

I have a two months artist-in-residency coming up with hopefully lots of time. Btw, did you build following these instructions?

No… But I think I made nearly the same :joy:

Any luck with this? I tried the install recipe by COd3man and got pretty far, but the last ’ ./waf configure’ failed because of a missing ‘libudev’

If I do a ‘sudo apt-get install libudev-dev’ it fails and reboots the Zynthian during installation.

It would be great if anyone knowlegable could help out or even better make a special ‘norns’ layer just like the MOD-UI :slight_smile:

1 Like

It is not an easy task, you can start here

But to make it work on zynthian hardware you will need several changes in Norns code.

  • Norns code expect an screen with a resolution of 128x64, so you will need to change the code to scale the UI.
  • Norns uses an overlay to integrate encoders and buttons with libinput, if you are using a wiring with only RPi GPIO you can recompile the overlay changing the pins for the ones that you are using. But if your wiring is using an MCP230xx you need additional software to create the libinput events.

I was able to make Norns software to work with my custom Zynthian hardware.
You can look at:

3 Likes

Thanks a lot for your information! That seems like quite some modifying indeed and since I am a beginner in these things I’ll probably have to study this some more, before another attempt.

So I suppose you are running Norns stand-alone this way without the Zynthian software?

It would be great if it could be included in the Zynthian somehow.

Thanks again for the directions and will study some more which hopefully result in a working Norns on my Zynthian :slight_smile:

2 Likes

Hey, So did you finally get it working??
If so, how? got any pics or videos? :face_with_monocle:
thanks in advance btw

1 Like

Hi @jnonis!

These are great news!! Congratulations!!

  • Could you describe your Zynthian hardware? Are you using MCP23017 or RBPi GPIOs?

  • Did you manage to modify the norns code for scaling the UI, or your zynthian uses a 128x64 display?

  • Could you write a little guide?

  • And finally … could you share a working SD-image? :wink:

Thanks a lot!!

1 Like

OK! Reading your code i see you have implemente MCP23008 support :wink:

I see you have a patch for scaling the UI to 480x320 (aka the Zynscreen resolution).

Thanks

if we would get it as a alternate engine it would be huge, there is some complexity added because there is a web interface for coding and getting plugins and other stuff

I have a fates/norns, maybe i can help some

2 Likes

Any news/progress on this?

I second it would be really cool to have this as a layer on Zynthian!

I don’t see how this would work as a Zynthian layer. Norns is a complete system, similar to Zynthian. I would have thought the closest thing works be adding a SuperCollider layer. Or are you wanting suitable processing in which case it might be better to consider what benefit that might give and how it might be integrated into Zynthian.

BTW, did anybody try to install Norns itself on a zynthian box ?

I actually think it’s more akin to puredata or modui (more so ModUI) , there is a layer of hardware integration but the essence of running the programs and getting controls is more or less it’s own part.

It’s also true that it might make more sense to directly run it as an alternative onboard image in the sd card and dual boot

I wonder the same… is it possible to run on a bare rpi4b or not?
Somehow the norns seems a bit vague what it exactly consists of… couldnt just anyone with a rpbi4 run it with default headphones jack out (and maybe attach a usb keyboard to simulate input control, like zynthian)?

Edit:
Got a bit further, running fates img on rpi4, but with wrong screen resolution (but a supertiny unreadable pixels that at least allow navigation), usb keyboard support via arrow keys and F1-F4 is built in, but no supercollider yet, as I’m trying to use rpi headphones, no Dac, and no hw buttons.
Have one or two more ideas what to try, but presumably it would work if getting supercollider to start on bare rpi4.

I think the simplest method would be to build a norns distro for zynth hardware using the encoders .c file and the midi stuff. Swap the sdcard and you’re golden.

Just wanted to pop my head in on this thread quick to say that this would be absolutely incredible! Really looking forward to seeing where this goes!