Norns on Raspberry Pi

norns

#181

this is the 800$ question right now [along with the /dev/events stuff :slight_smile:


#182

norns/matron/src/hardware/screen.c

at line 71:

/* Use fb0 if no fram buffer is specified */
if (fb_name == NULL) {
fb_name = “/dev/fb0”;

and line 138:

void screen_init(void) {
surfacefb = cairo_linuxfb_surface_create("/dev/fb0");
if(surfacefb == NULL) { return; }
crfb = cairo_create(surfacefb);


#183

thus - change line 138 to fb1 ?

I don’t have my install working yet so can’t try.


#184

Not 100% sure about this but here’s my instructions/notes for getting the SH1106 OLED display working.

http://www.okyeron.com/norns/sh1106.txt

Please test if you like and let me know if you run into problems


#185

thats it!!!

wuhuuu!

after you replaced /dev/fb0 with /dev/fb1 you have to rebuild norns:

./waf configure
./waf


#186

Based on your ps listing it would appear you are trying to use the systemd unit setup - if that is setup correctly the things should be accessible from port 80. If you are starting maiden by hand without the -fd flag then things should be accessible on port 5000.


#187

Thanks. I got it running in the meantime :blush:


#188

i would love that but it looks like the piSound uses all the pins So i am going to continue to hopeully find a software solution but as of now unless i hear something else fabulous [as this surely is]
i am going to tap out or Raspi Norns Dev


#189

Heck yeah! Thanks for the additional work to make that work!


#190

great stuff @reijo , really good progress.


#191

I’m not worried about replicating a pair of encoders and buttons. Those aren’t a dealbreaker for me, and the prospect of integrating an external controller for those didn’t dissuade me from ordering a PiSound instead of some other DAC, either.

(I’m also planning to test whether or not MODEP is a viable backup for my MOD Duo…)

That’s burying the lede, I suppose. I ordered a PiSound last night. It’ll probably take a while to ship overseas, so I’m still only lurking. But, I’m at least that committed now, and I’ve got more of a timeline before me.


#192

good luck ,
with time this nut will be cracked :slight_smile:

ive been playing with a variety of kernels configurations today (between beers with friends) , not much to show as yet, but you learn something on each interaction (if only how to type faster :wink: )


#193

Untitled.m4v (3.0 MB)

Norns running on RasPi with OLED and USB Audio (also got the oled to startup on boot!)


#194

Anyone got the encoder or button GPIOs figured out?

The ones listed at https://github.com/monome/norns-image/blob/master/readme-hardware.md seem wrong as GPIO39 (which I think means pin 39) is GND… ???

I also tried wiring up with those pin assignments and got nothing. :frowning:

EDIT - the compute module (cm3) in Norns has a different pinout, so that explains the GPIO numbers being higher than are available on the RasPi 3


#195

very nice - what’s your OLED ?

now a bit torn - was going to go with pisound but having the display for this seems very nice.


#196

OLED is an SH1106 chip version from ebay - about $5-6 each
“HQ 1.3” 128*64 OLED Graphic Display Module SPI LCD"

Now… the pisound gets you audio I/O - which is a whole different thing. However, I think shreeswifty said something above that the pisound uses all the available gpio pins, so you might investigate that a bit further.

I’m gonna look into another DAC solution later, but don’t hold your breath. :slight_smile:


#197

yeah - the pisound does appear to (not bought anything yet but going to press the trigger soon)

hmm. questions questions! :slight_smile:


#198

warning pisound
I determined last night that the pisound was disabling preemption, which is i believe the cause for me not getting the performance id hoped.
blokas have suggested i can hack the pisound driver to make it work (as a temp fix, till they can get a proper solution) , so thats my plan for today…

if that fails, im going to transfer a hifiberry dac+, that i have currently on a pi2, to the pi3…

think i might also order a rpi3b+, so i’ll have the dac+ on the rpi3b and pisound on a pi3b as … norns on one, orac on the other :slight_smile:


#199

That’s gonna need some clarifying.

According to this thread:

There’s a 14 pin header on the side somewhere, which routes back to these gpio pins on the Raspberry Pi:

1 Ground
2 5v Power
3 BCM 7 (CE1)
4 3v3 Power
5 BCM 5
6 BCM 6
7 BCM 22
8 BCM 23
9 BCM 27
10 BCM 4 (GPCLK0)
11 BCM 15 (RXD)
12 BCM 14 (TXD)
13 BCM 2 (SDA)
14 BCM 3 (SLC)

I would assume that the pins listed are sufficient to drive your input controls (two buttons and two press-enabled encoders — these are humble requirements).

But I wouldn’t guess these are the specific pins expected for driving an off the shelf 3” screen directly off the board.

That may be what @shreeswifty was describing?

(Your display, in this configuration, might need to connect via USB, or HDMI. Or some wireless solution, like a web app. Or OSC.)

Regardless, gpio driven displays seem to have data bottlenecks that restrict frame rate, so you probably don’t want that anyway.

https://www.raspberrypi.org/forums/viewtopic.php?t=186153


#200

Yes there’s a bare header but not enough to drive the 3 encoders , 3 buttons and display you’ll need.
You could use multiplexing or drive an Arduino with more pins.
But both solutions would require you to write a Matron driver , not hard for this task if your familiar with C and hardware interfacing.