Something to consider, yes.

Built from bare PCB (the hardcore way- ha!).

RPi, OLED, buttons and encoders all seem to be working!

Forgot to order jacks, though, stupidly, so I can’t hear if the CODEC is working.

Also forgot spacers/standoffs. Not sure what length to use for the display spacers.

I’m not 100% sure the CODEC crystal is working. I’ve not soldered a part with this particular package before.

2 Likes

Hey ya’ll,

I recently purchased the norns shield kit (https://market.monome.org/collections/primary/products/norns-shield-kit) and just put it together tonight. It boots up properly except that I’m getting the ā€œerror: SUPERCOLLIDER FAILā€ message and it does not go away after a reboot.

I have run SYSTEM->UPDATE and unplugged/plugged the power cable, but I still see this error. And, when I try to open anything from SELECT->… it just hangs on the ā€œloadingā€¦ā€ screen. When I ssh into the device and run dmesg I get the following:

Summary

[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.14.52-16-g2c9be99 (root@6b07e3f78b4b) (gcc version 7.1.1 20170707 (Linaro GCC 7.1-2017.08)) #1 SMP PREEMPT Mon Dec 30 21:28:26 UTC 2019
[ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Raspberry Pi 3 Model B Rev 1.2
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] cma: Reserved 8 MiB at 0x39400000
[ 0.000000] On node 0 totalpages: 236544
[ 0.000000] free_area_init_node: node 0, pgdat 80a38e40, node_mem_map b8bd7000
[ 0.000000] Normal zone: 2079 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 236544 pages, LIFO batch:31
[ 0.000000] percpu: Embedded 16 pages/cpu @b8b83000 s33932 r8192 d23412 u65536
[ 0.000000] pcpu-alloc: s33932 r8192 d23412 u65536 alloc=16*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 234465
[ 0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=720 bcm2708_fb.fbheight=480 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 consoleblank=0 fbcon=map:1 root=/dev/mmcblk0p2 rootwait console=tty1
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 918588K/946176K available (6144K kernel code, 234K rwdata, 1728K rodata, 1024K init, 396K bss, 19396K reserved, 8192K cma-reserved)
[ 0.000000] Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xba000000 - 0xff800000 (1112 MB)
lowmem : 0x80000000 - 0xb9c00000 ( 924 MB)
modules : 0x7f000000 - 0x80000000 ( 16 MB)
.text : 0x80008000 - 0x80700000 (7136 kB)
.init : 0x80900000 - 0x80a00000 (1024 kB)
.data : 0x80a00000 - 0x80a3ab08 ( 235 kB)
.bss : 0x80a41d00 - 0x80aa4d14 ( 397 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] arch_timer: cp15 timer(s) running at 19.20MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[ 0.000007] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[ 0.000021] Switching to timer-based delay loop, resolution 52ns
[ 0.000205] Console: colour dummy device 80x30
[ 0.000807] console [tty1] enabled
[ 0.000840] Calibrating delay loop (skipped), value calculated using timer frequency… 38.40 BogoMIPS (lpj=192000)
[ 0.000882] pid_max: default: 32768 minimum: 301
[ 0.001051] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.001085] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.001980] Disabling memory control group subsystem
[ 0.002067] CPU: Testing write buffer coherency: ok
[ 0.002452] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.040030] Setting up static identity map for 0x100000 - 0x100060
[ 0.060010] Hierarchical SRCU implementation.
[ 0.100067] smp: Bringing up secondary CPUs …
[ 0.170449] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.240517] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[ 0.310612] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[ 0.310727] smp: Brought up 1 node, 4 CPUs
[ 0.310805] SMP: Total of 4 processors activated (153.60 BogoMIPS).
[ 0.310829] CPU: All CPU(s) started in HYP mode.
[ 0.310849] CPU: Virtualization extensions available.
[ 0.311894] devtmpfs: initialized
[ 0.321645] random: get_random_u32 called from bucket_table_alloc+0x100/0x228 with crng_init=0
[ 0.330793] VFP support v0.3: implementor 41 architecture 3 part 40 variant 3 rev 4
[ 0.331040] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.331086] futex hash table entries: 1024 (order: 4, 65536 bytes)
[ 0.331574] pinctrl core: initialized pinctrl subsystem
[ 0.332299] NET: Registered protocol family 16
[ 0.352366] DMA: preallocated 1024 KiB pool for atomic coherent allocations
[ 0.356573] Serial: AMBA PL011 UART driver
[ 0.358539] bcm2835-mbox 3f00b880.mailbox: mailbox enabled
[ 0.358991] uart-pl011 3f201000.serial: could not find pctldev for node /soc/gpio@7e200000/uart0_pins, deferring probe
[ 0.387228] bcm2835-dma 3f007000.dma: DMA legacy API manager at ba013000, dmachans=0x1
[ 0.388606] SCSI subsystem initialized
[ 0.388742] usbcore: registered new interface driver usbfs
[ 0.388808] usbcore: registered new interface driver hub
[ 0.388913] usbcore: registered new device driver usb
[ 0.390693] raspberrypi-firmware soc:firmware: Attached to firmware from 2018-10-08 17:43
[ 0.390925] Advanced Linux Sound Architecture Driver Initialized.
[ 0.391985] clocksource: Switched to clocksource arch_sys_counter
[ 0.392346] FS-Cache: Loaded
[ 0.392523] CacheFiles: Loaded
[ 0.400367] NET: Registered protocol family 2
[ 0.401149] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.401280] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.401484] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.401627] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 0.401690] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 0.401930] NET: Registered protocol family 1
[ 0.402557] RPC: Registered named UNIX socket transport module.
[ 0.402583] RPC: Registered udp transport module.
[ 0.402603] RPC: Registered tcp transport module.
[ 0.402624] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.404174] workingset: timestamp_bits=14 max_order=18 bucket_order=4
[ 0.411205] FS-Cache: Netfs ā€˜nfs’ registered for caching
[ 0.411765] NFS: Registering the id_resolver key type
[ 0.411813] Key type id_resolver registered
[ 0.411834] Key type id_legacy registered
[ 0.413646] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[ 0.413786] io scheduler noop registered
[ 0.413810] io scheduler deadline registered (default)
[ 0.413832] io scheduler mq-deadline registered
[ 0.413854] io scheduler kyber registered
[ 0.418112] bcm2835-rng 3f104000.rng: hwrng registered
[ 0.418268] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000000(1024 MiB)
[ 0.418729] vc-sm: Videocore shared memory driver
[ 0.427219] loop: module loaded
[ 0.427594] spi-bcm2835 3f204000.spi: could not get clk: -517
[ 0.427829] usbcore: registered new interface driver smsc95xx
[ 0.427863] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[ 0.655898] Core Release: 2.80a
[ 0.655922] Setting default values for core params
[ 0.655961] Finished setting default values for core params
[ 0.856186] Using Buffer DMA mode
[ 0.856207] Periodic Transfer Interrupt Enhancement - disabled
[ 0.856230] Multiprocessor Interrupt Enhancement - disabled
[ 0.856253] OTG VER PARAM: 0, OTG VER FLAG: 0
[ 0.856276] Dedicated Tx FIFOs mode
[ 0.856660] WARN::dwc_otg_hcd_init:1046: FIQ DMA bounce buffers: virt = 0xb9504000 dma = 0xf9504000 len=9024
[ 0.856713] FIQ FSM acceleration enabled for :
Non-periodic Split Transactions
Periodic Split Transactions
High-Speed Isochronous Endpoints
Interrupt/Control Split Transaction hack enabled
[ 0.856788] dwc_otg: Microframe scheduler enabled
[ 0.856839] WARN::hcd_init_fiq:459: FIQ on core 1 at 0x804ba0b0
[ 0.856870] WARN::hcd_init_fiq:460: FIQ ASM at 0x804ba400 length 36
[ 0.856900] WARN::hcd_init_fiq:486: MPHI regs_base at 0xba01d000
[ 0.856968] dwc_otg 3f980000.usb: DWC OTG Controller
[ 0.857013] dwc_otg 3f980000.usb: new USB bus registered, assigned bus number 1
[ 0.857066] dwc_otg 3f980000.usb: irq 62, io mem 0x00000000
[ 0.857127] Init: Port Power? op_state=1
[ 0.857146] Init: Power Port (0)
[ 0.857359] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.857390] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.857421] usb usb1: Product: DWC OTG Controller
[ 0.857445] usb usb1: Manufacturer: Linux 4.14.52-16-g2c9be99 dwc_otg_hcd
[ 0.857472] usb usb1: SerialNumber: 3f980000.usb
[ 0.858052] hub 1-0:1.0: USB hub found
[ 0.858107] hub 1-0:1.0: 1 port detected
[ 0.858616] dwc_otg: FIQ enabled
[ 0.858621] dwc_otg: NAK holdoff enabled
[ 0.858625] dwc_otg: FIQ split-transaction FSM enabled
[ 0.858634] Module dwc_common_port init
[ 0.858859] usbcore: registered new interface driver usb-storage
[ 0.859036] i2c /dev entries driver
[ 0.859422] IR NEC protocol handler initialized
[ 0.859445] IR RC5(x/sz) protocol handler initialized
[ 0.859466] IR RC6 protocol handler initialized
[ 0.859487] IR JVC protocol handler initialized
[ 0.859506] IR Sony protocol handler initialized
[ 0.859526] IR SANYO protocol handler initialized
[ 0.859546] IR Sharp protocol handler initialized
[ 0.859567] IR MCE Keyboard/mouse protocol handler initialized
[ 0.859589] IR XMP protocol handler initialized
[ 0.860054] bcm2835-wdt 3f100000.watchdog: Broadcom BCM2835 watchdog timer
[ 0.860329] bcm2835-cpufreq: min=600000 max=1200000
[ 0.862184] sdhci: Secure Digital Host Controller Interface driver
[ 0.862197] sdhci: Copyright© Pierre Ossman
[ 0.862377] mmc-bcm2835 3f300000.mmc: could not get clk, deferring probe
[ 0.862547] sdhost-bcm2835 3f202000.mmc: could not get clk, deferring probe
[ 0.862605] sdhci-pltfm: SDHCI platform and OF driver helper
[ 0.863675] ledtrig-cpu: registered to indicate activity on CPUs
[ 0.863779] hidraw: raw HID events driver Ā© Jiri Kosina
[ 0.863852] usbcore: registered new interface driver usbhid
[ 0.863864] usbhid: USB HID core driver
[ 0.864323] vchiq: vchiq_init_state: slot_zero = b9580000, is_master = 0
[ 0.865259] [vc_sm_connected_init]: start
[ 0.872786] [vc_sm_connected_init]: end - returning 0
[ 0.873293] bcm2835-i2s 3f203000.i2s: could not get clk: -517
[ 0.873408] snd-rpi-monome soc:sound: ASoC: CPU DAI (null) not registered - will retry
[ 0.873427] snd-rpi-monome soc:sound: snd_soc_register_card() failed (-517)
[ 0.873614] Initializing XFRM netlink socket
[ 0.873635] NET: Registered protocol family 17
[ 0.873692] Key type dns_resolver registered
[ 0.873885] Registering SWP/SWPB emulation handler
[ 0.874185] registered taskstats version 1
[ 0.877306] uart-pl011 3f201000.serial: cts_event_workaround enabled
[ 0.877355] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2
[ 0.878339] fbtft_of_value: buswidth = 8
[ 0.878352] fbtft_of_value: debug = 3
[ 0.878362] fbtft_of_value: rotate = 180
[ 0.878373] fbtft_of_value: fps = 20
[ 0.878407] fb_ssd1322 spi0.0: fbtft_gamma_parse_str() str=
[ 0.878419] fb_ssd1322 spi0.0: 1 1 1 1 1 2 2 3 3 4 4 5 5 6 6
[ 0.878462] fb_ssd1322 spi0.0: fbtft_request_one_gpio: ā€˜reset-gpios’ = GPIO6
[ 0.878482] fb_ssd1322 spi0.0: fbtft_request_one_gpio: ā€˜dc-gpios’ = GPIO5
[ 0.878518] fb_ssd1322 spi0.0: fbtft_verify_gpios()
[ 0.878530] fb_ssd1322 spi0.0: init_display()
[ 0.878541] fb_ssd1322 spi0.0: fbtft_reset()
[ 1.016618] fb_ssd1322 spi0.0: Display update: 3597 kB/s, fps=0
[ 1.016632] fb_ssd1322 spi0.0: set_gamma()
[ 1.016772] graphics fb0: fb_ssd1322 frame buffer, 128x64, 16 KiB video memory, 8 KiB buffer memory, fps=20, spi0.0 at 16 MHz
[ 1.017158] cs4270 1-0048: 1-0048 supply va not found, using dummy regulator
[ 1.017202] cs4270 1-0048: 1-0048 supply vd not found, using dummy regulator
[ 1.017237] cs4270 1-0048: 1-0048 supply vlc not found, using dummy regulator
[ 1.017764] cs4270 1-0048: found device at i2c address 48
[ 1.017778] cs4270 1-0048: hardware revision 3
[ 1.018065] mmc-bcm2835 3f300000.mmc: mmc_debug:0 mmc_debug2:0
[ 1.018079] mmc-bcm2835 3f300000.mmc: DMA channel allocated
[ 1.082318] sdhost: log_buf @ b9509000 (f9509000)
[ 1.082423] Indeed it is in host mode hprt0 = 00021501
[ 1.108225] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[ 1.109726] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 1.111226] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 1.113916] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[ 1.156534] random: fast init done
[ 1.171988] mmc0: sdhost-bcm2835 loaded - DMA enabled (>1)
[ 1.193942] snd-rpi-monome soc:sound: cs4270-hifi <-> 3f203000.i2s mapping ok
[ 1.195058] hctosys: unable to open rtc device (rtc0)
[ 1.195074] of_cfs_init
[ 1.195129] of_cfs_init: OK
[ 1.195364] ALSA device list:
[ 1.195374] #0: snd_rpi_monome
[ 1.195506] Waiting for root device /dev/mmcblk0p2…
[ 1.221790] mmc1: new high speed SDIO card at address 0001
[ 1.239309] mmc0: host does not support reading read-only switch, assuming write-enable
[ 1.241934] mmc0: new high speed SDHC card at address 0001
[ 1.242172] mmcblk0: mmc0:0001 SD32G 29.3 GiB (quirks 0x80000000)
[ 1.243703] mmcblk0: p1 p2
[ 1.255511] EXT4-fs (mmcblk0p2): INFO: recovery required on readonly filesystem
[ 1.255535] EXT4-fs (mmcblk0p2): write access will be enabled during recovery
[ 1.302019] usb 1-1: new high-speed USB device number 2 using dwc_otg
[ 1.302128] Indeed it is in host mode hprt0 = 00001101
[ 1.486182] EXT4-fs (mmcblk0p2): recovery complete
[ 1.501326] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 1.501379] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[ 1.510673] devtmpfs: mounted
[ 1.511545] Freeing unused kernel memory: 1024K
[ 1.542138] usb 1-1: New USB device found, idVendor=0424, idProduct=9514
[ 1.542156] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 1.542535] hub 1-1:1.0: USB hub found
[ 1.542592] hub 1-1:1.0: 5 ports detected
[ 1.862017] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[ 1.966143] systemd[1]: System time before build time, advancing clock.
[ 1.992161] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[ 1.992184] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 1.994574] smsc95xx v1.0.6
[ 2.083854] smsc95xx 1-1.1:1.0 eth0: register ā€˜smsc95xx’ at usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:35:cb:74
[ 2.096067] NET: Registered protocol family 10
[ 2.096785] Segment Routing with IPv6
[ 2.105526] ip_tables: Ā© 2000-2006 Netfilter Core Team
[ 2.125137] random: systemd: uninitialized urandom read (16 bytes read)
[ 2.132347] systemd[1]: systemd 232 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
[ 2.132686] systemd[1]: Detected architecture arm.
[ 2.135589] systemd[1]: Set hostname to .
[ 2.165481] random: systemd: uninitialized urandom read (16 bytes read)
[ 2.186531] random: systemd-gpt-aut: uninitialized urandom read (16 bytes read)
[ 2.550006] systemd[1]: alsa-restore.service: Cannot add dependency job, ignoring: Unit alsa-restore.service is masked.
[ 2.550060] systemd[1]: apt-daily.timer: Cannot add dependency job, ignoring: Unit apt-daily.timer is masked.
[ 2.550104] systemd[1]: apt-daily-upgrade.timer: Cannot add dependency job, ignoring: Unit apt-daily-upgrade.timer is masked.
[ 2.550140] systemd[1]: alsa-state.service: Cannot add dependency job, ignoring: Unit alsa-state.service is masked.
[ 2.550265] systemd[1]: rsyslog.service: Cannot add dependency job, ignoring: Unit rsyslog.service is masked.
[ 2.553324] systemd[1]: Reached target Sound Card.
[ 2.553898] systemd[1]: Listening on Journal Socket.
[ 2.973255] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[ 3.015480] systemd-journald[95]: Received request to flush runtime journal from PID 1
[ 3.231352] input: keys as /devices/platform/keys/input/input0
[ 3.256708] gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000
[ 3.294775] rotary-encoder soc:knob3: gray
[ 3.296977] input: soc:knob3 as /devices/platform/soc/soc:knob3/input/input1
[ 3.297165] rotary-encoder soc:knob2: gray
[ 3.297613] input: soc:knob2 as /devices/platform/soc/soc:knob2/input/input2
[ 3.297775] rotary-encoder soc:knob1: gray
[ 3.299631] input: soc:knob1 as /devices/platform/soc/soc:knob1/input/input3
[ 3.586550] brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac43430-sdio.bin for chip 0x00a9a6(43430) rev 0x000001
[ 3.586682] usbcore: registered new interface driver brcmfmac
[ 3.759925] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Oct 23 2017 03:55:53 version 7.45.98.38 (r674442 CY) FWID 01-e58d219f
[ 3.760550] brcmfmac: brcmf_c_preinit_dcmds: CLM version = API: 12.2 Data: 7.11.15 Compiler: 1.24.2 ClmImport: 1.24.1 Creation: 2014-05-26 10:53:55 Inc Data: 9.10.39 Inc Compiler: 1.29.4 Inc ClmImport: 1.36.3 Creation: 2017-10-23 03:47:14
[ 4.996645] uart-pl011 3f201000.serial: no DMA platform data
[ 5.174296] bcm2835-i2s 3f203000.i2s: I2S SYNC error!
[ 5.175756] bcm2835-i2s 3f203000.i2s: I2S SYNC error!
[ 7.153190] random: crng init done
[ 7.153199] random: 7 urandom warning(s) missed due to ratelimiting
[ 7.778719] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 7.863215] smsc95xx 1-1.1:1.0 eth0: hardware isn’t capable of remote wakeup
[ 7.863336] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 7.880549] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 7.922185] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 7.922196] brcmfmac: power management disabled
[ 8.299878] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 9.366711] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 10.293875] Bluetooth: Core ver 2.22
[ 10.293930] NET: Registered protocol family 31
[ 10.293933] Bluetooth: HCI device and connection manager initialized
[ 10.293947] Bluetooth: HCI socket layer initialized
[ 10.293955] Bluetooth: L2CAP socket layer initialized
[ 10.293973] Bluetooth: SCO socket layer initialized
[ 10.298628] Bluetooth: HCI UART driver ver 2.3
[ 10.298636] Bluetooth: HCI UART protocol H4 registered
[ 10.298639] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 10.406975] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 10.406982] Bluetooth: BNEP filters: protocol multicast
[ 10.406994] Bluetooth: BNEP socket layer initialized
[ 94.429133] bcm2835-dma 3f007000.dma: DMA transfer could not be terminated
[ 94.430061] bcm2835-dma 3f007000.dma: DMA transfer could not be terminated

of which the following are the error messages:

Summary

[ 0.427594] spi-bcm2835 3f204000.spi: could not get clk: -517
[ 0.873293] bcm2835-i2s 3f203000.i2s: could not get clk: -517
[ 0.873427] snd-rpi-monome soc:sound: snd_soc_register_card() failed (-517)
[ 3.760550] brcmfmac: brcmf_c_preinit_dcmds: CLM version = API: 12.2 Data: 7.11.15 Compiler: 1.24.2 ClmImport: 1.24.1 Creation: 2014-05-26 10:53:55 Inc Data: 9.10.39 Inc Compiler: 1.29.4 Inc ClmImport: 1.36.3 Creation: 2017-10-23 03:47:14
[ 5.174296] bcm2835-i2s 3f203000.i2s: I2S SYNC error!
[ 5.175756] bcm2835-i2s 3f203000.i2s: I2S SYNC error!
[ 94.429133] bcm2835-dma 3f007000.dma: DMA transfer could not be terminated
[ 94.430061] bcm2835-dma 3f007000.dma: DMA transfer could not be terminated

From which I’m guessing there’s at least a problem with the…audio code chip maybe (based on snd-rpi-monome error above)? Any thoughts on troubleshooting? My solder connections look fine and I’m not sure what to check for around the audio codec. Here’s a photo of the area around the Cirrus chip in case it’s helpful: 29B5C227-6425-4DE5-8631-D7BDB920F35B.heic (340.3 KB)

very sorry for the trouble-- first of these boards to have a codec issue. email help@monome.org and we’ll get your sorted on Monday.

Thanks for the quick response tehn; an email has been sent.

Hello me and my son are getting ready to assemble with any luck a norns shield
Is there any other guide to assembly
Or is it all on the github?
Seems simple enough but I don’t want to overlook any critical information
Thanks

1 Like

Had a tuff one today and came to a faulty CS4270

Symptoms:

  • Supercollider error message after start up
  • All encoders don’t react fluently
  • No sound (of course)
  • When you want to load an app it’s stays on ā€œloadingā€¦ā€

:wink:

1 Like

Make sure the skinny pins are the ones being soldered to the OLED, so the thicker ones can go into the female header on the shield. Made this mistake twice in a row before realizing; finally replacing the header tonight (can’t wait!)
Good luck have fun!!!

2 Likes

O no that stinks
thank you for sharing this

1 Like

are the shield outputs balanced ?

or, in general, would it be smart to buy a DI box or amplifier type thing before bringing shield or other small electronics boxes to a venue ?

2 Likes

Happy to say I’ve got a successful build (raspberry pi 3B+)
Thanks for all the tips etc above

Couple of questions:

  1. I’m planning on making a hardwood enclosure with a clear acrylic faceplate (no cutout for screen). Should I be worried about ventilation?

  2. Anyone got tips for keeping the screen a bit more supported? The standoffs I have don’t quite have the space to attach…

1 Like

Will it stay level/parallel-with-the-shield without you holding it? If not, you may not have pushed it all the way in. The headers in the provided BOM are deeper than I expected and I had to use a Robo-Grip to safely clamp it together.

As for heat, I’m still looking into that with mine…

I just got a couple Samsung 18650 3Ah cells, a series holder, and a buck boost converter hoping to have a quick and dirty power pack to try using on my Norns Shield. As I’ve mentioned before, I’ve had bad luck (supercollider fails, xruns) with battery banks in the past, so I’m really invested in helping crack the problem of rock-solid battery power for my own live rig purposes.

I had some free time tonight, so I ran some baseline power tests with a little current measuring device and my known-good USB-C wallwart:

  1. Normal startup with nothing connected bounces around in the space between 300mA and 700mA (although I’ve caught spikes up to 1A). No undervoltage issues reported by the kernel. Settles out and idles around 600mA.

  2. Normal startup with just a single Arc produces almost the exact same behavior, but with the minimum current up around 400mA and a few more spikes up to 1A. Two undervoltages reported by the kernel at 8.72 and 14.96.

  3. Normal startup with a single Arc and an OP-Z connected. Starts out like 2, but quickly starts hanging out in the 1-1.3A range. Supercollider Fail error and three undervoltages: 4.56, 29.52, 50.322. I also checked the voltage reported by the lil meter I got and it seems like the difference is it dipping down from ~5.12A to ~5.09A. To be honest, this makes me distrust either/both my new meter or my methods.

Either way, this has peaked my curiosity, so I’ll be seeing how my powerbanks and new powerpack fare later this week. If anyone has any feedback or suggestions, please toss them in here!

Final note: the shield seems to care a lot more about peripherals drawing current than the factory unit, at least for me. Has anyone else with experience with both seen this as well?

1 Like

Apologies for the delay in responding. Unfortunately I thought I had a spare 3B / 3B+ handy to use in testing but it turns out it was already part of another project.

The short version of the story is that the Anker PowerCore+ I have seems more than up to the task of powering a norns shield with a good number of USB devices attached.

The experimentation I did used an admittedly atypical/unicorn setup, specifically:

  • norns shield
  • rpi4
  • 1x grid 128 (2019)
  • 1x arc 4 (2018/19)
  • 1x grid 128 (~2012 varibright)
  • 1x arc 2 (~2012)
  • Anker PowerCore+ 26800

Initial experiment - boot off battery with devices attached.

New generation grid and arc 4 connected to rpi4 then power from the Anker battery was connected. The system booted w/o under-voltage warnings and both the grid and arc were visible in SYSTEM > DEVICES > ARC | GRID as expected. Tried several scripts without issue. No audible xruns.

Second experiment - add more lit led(s) + stress the CPU

Used stress-ng --cpu 2 to generate dummy load, spinning 2 cores up to ~100% utilization. Ran cheat codes for awhile, the number of leds lit on the arc 4 and grid were per normal when running cheat codes (not all but a decent number of leds). In this configuration still no under-voltage warnings nor any xruns.

Third experiment - add a second grid and second arc

With all of the above (cpu stress, cheat codes, arc + grid etc) then plugged in a 2012 era 128 grid. At this point a single under-voltage warning was reported in dmesg an then it resolved itself in ~4 seconds:

[  547.369821] Under-voltage detected! (0x00050005)
[  551.529853] Voltage normalised (0x00000000)

Despite the under-voltage warning I didn’t get any audio dropouts and the grid showed as a second device (no USB enumeration problems). Curious to see what would happen I connected the 2012 arc 2. Again a similar under-voltage warning which resolved in ~4 seconds and the second arc appeared as a normal device.

Defining some quick callbacks in the maiden REPL allowed me to confirm that I could get delta and key events from the additional devices. While cheat codes was still running the additional arc/grid weren’t lit up…

Fourth experiment - add more leds (playing with fire)

Again using the maiden REPL interactively set all the arc2 leds to brightness 15 - surprisingly no voltage warnings nor any other obvious problems. As a final step turn on all of the leds of the second grid to 15 - this did finally push things over the edge. The kernel reported a flurry of over-current errors on each of the usb ports similar to this:

[ 2274.059821] usb usb2-port1: over-current change #1

…and all the grids and arcs went through 1-2 power cycles.

Conclusion - The battery powered setup worked as good or better than I would have expected. There are 640 leds across the four devices and I’d expect that lighting up over half of them at full intensity would be more than most things could handle without incorporating a powered hub.

For power hungry setups I have found the following portable USB hub to be a key companion. What is unique about this hub is that it can optionally be powered by running another USB cable from the USB battery up to the hub.

In fact I just tested and the dual grid, dual arc setup works fine with one of the grid/arc combos powered directly off the battery via that hub…

4 Likes

Additional data point - check your cable and try different USB cables for comparison.

1 Like

You’ve convinced me on that power bank! I think I should be able to get by without a hub, but thank you so much for this! Really glad I ran my half-assed lil test now… This place is getting me over my fear of failure once and for all :laughing:

2 Likes

It won’t stay parallel but the headers looks fully in. I’m temporarily holding it up with a bit of foam but will aim to make something more permanent soon.

A quick browse on the raspberry pi forums and it seems folks aren’t too worried about enclosures and heat… let us know if you come to a different conclusion! :slight_smile:

Does it make sense to make a case made of copper? or it is not good for such devices? Because it’s a conductor

it won’t conduct heat very well unless you make a case that touches the actual CPU or an attached heatsink.

solid metal enclosures will definitely kill the wifi signal strength also.

4 Likes

FWIW, mine is snug and stays parallel. I’ll upload a pic when I’m back from breakfast so you can compare but it really sounds like you may have some pushing left to do?