Respeaker 2 MiC hat: Does it support Jetson Nano or is that in the roadmap

The JST speaker works ! :tada: I used the same installation instructions that you cited above.

Thank you very much! Nice work!

Do you know if there are any plans to make the button and the led work ?

@cristian_brokate What exactly did you execute to fix “No DTB found” error on Jetson Nano B01 board?

I did this:
sudo mkdir /boot/dtb
sudo cp -v /boot/tegra210-p3448-0000-p3449-0000-[ab]0[02].dtb /boot/dtb/

After that I just rebooted and then /opt/nvidia/jetson-io/Jetson/board.py command worked.

From https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide%2Fhw_setup_jetson_io.html

1 Like

hi, cristian
Please try this device tree https://github.com/Seeed-Studio/seeed-linux-dtoverlays/blob/master/overlays/jetsonnano/jetson-seeed-2mic-voicecard.dts,
which enabled SPI pinmux.

In my Jetson Nano v4.4 Image, /dev/spidev{0,1}.{0,1} are already exist.
All we should do is setting the SPI pinmux.

Although the SPI pinmux could be enabled by /opt/nvidia/jetson-io/config-by-*. ,which will generate a SPI enabled device tree overlay object.
But only one device tree overlay could be exclusively selected at one time in the jetson nano system.
So I compound the wm8960 & spi together into jetson-seeed-2mic-voicecard.dts.

Remember to remove /boot/jetson-seeed-2mic-wm8960.dtbo

Hi Turmary,

Thanks for your complete answer !

I complied the jetson-seeed-2mic-wm8960.dtbo using the device tree with spidev support, using the same flags as before. Then I removed and replaced the /boot/jetson-seeed-2mic-wm8960.dtbo with the new one.

But I still have the same results as I said here: Respeaker 2 MiC hat: Does it support Jetson Nano or is that in the roadmap

Is this example repository adapted to the jetson nano ? does it work for you ?

In my jetson nano I have /dev/spidev0,0 and /dev/spidev1.0

Yes, it works on JetPack v4.4 Image.
We driver a sensor with spi interface on /dev/spidev0.0

The error report your system lose /dev/spidev0.1

   self.spi.open(bus, device)  # Open SPI port 0, slave device (CS) 1
FileNotFoundError: [Errno 2] No such file or directory

You need change the code to set argument device to 0.
Then use this device tree overlay.

I changed the device to 0 and I don’t have an error when I run python3 pixels.py.
But the respeaker leds don’t turn on as they should have.

Post installation, the Mic is not detected by Chromium browser. Should we do any additional configuration for it to work? asound.conf is missing “pcm.mic” tree, could that be the reason? Strangely, audio out via 3.5mm jack on the 2 MIC HAT works from chromium browser.

Hello turmary,
I have followed mentioned steps but could not install.

  1. My environment: Jetson nano B01 with source R32.4.3 or JetPack Image 4.4
  2. While executing step-2.2 i am getting this error “/home/jetson/seeed-linux-dtoverlays/modules/CAN-HAT/mcp25xxfd.h:15:10: fatal error: linux/can/rx-offload.h: No such file or directory”:

Blockquote

ubuntu@desktop:~/seeed-linux-dtoverlays$ KBUILD=/usr/src/linux-headers-4.9.140-tegra-ubuntu18.04_aarch64/kernel-4.9 make all_jetsonnano
Building modules, stage 2.
MODPOST 2 modules
Building modules, stage 2.
MODPOST 1 modules
Building modules, stage 2.
MODPOST 1 modules
CC [M] /home/jetson/seeed-linux-dtoverlays/modules/CAN-HAT/mcp25xxfd-core.o
In file included from /home/jetson/seeed-linux-dtoverlays/modules/CAN-HAT/mcp25xxfd-core.c:26:0:
/home/jetson/seeed-linux-dtoverlays/modules/CAN-HAT/mcp25xxfd.h:15:10: fatal error: linux/can/rx-offload.h: No such file or directory
#include <linux/can/rx-offload.h>
^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
scripts/Makefile.build:335: recipe for target ‘/home/jetson/seeed-linux-dtoverlays/modules/CAN-HAT/mcp25xxfd-core.o’ failed
make[2]: *** [/home/jetson/seeed-linux-dtoverlays/modules/CAN-HAT/mcp25xxfd-core.o] Error 1
Makefile:1629: recipe for target ‘module/home/jetson/seeed-linux-dtoverlays/modules/CAN-HAT’ failed
make[1]: *** [module/home/jetson/seeed-linux-dtoverlays/modules/CAN-HAT] Error 2
Makefile:150: recipe for target ‘all_jetsonnano’ failed
make: *** [all_jetsonnano] Error 2
ubuntu@desktop:~/seeed-linux-dtoverlays$

Blockquote

Is is because of latest jetpack version or something i have missed?
Any help much appreciated.!

Sorry, this is some idiot who’s committed the wrong code to the master branch.I’ll fix it as soon as I can.

Hi Procoller,
Instruction here are obsolete.
We will always update the document in the URL:

And instruction there has been tested, OK on Jetson Nano.

Thank you turmay, Baozhu for your reply…
Let me check my steps/commands.

Hello turmary,
I have followed the steps and it was working. But i noticed some noise in recorded audio’s left channel.
About my setup: Jetson nano B01 i have R32.4.3 or JetPack Image 4.4 and 2mic array is directly connected on 40 pin header.

Things that i have tried,

  1. Disconnect AC power adapter and connect with DC battery.
  2. Connect 2mic array with jumper wires to make some distance from jetson.

But nothing worked.

Attached spectrogram of audio file!
2mic-respeaker-sp|690x433

Anyone came across this type of issue?
I am stuck at this stage.
Any help much appreciated.

Hello everyone,

I successfully installed the driver of the Respeaker 2 Mic hat on my Jetson nano board. As long as I am recording in “Signed 32bit:S32_LE” format with the following command, everything seems reasonable:

arecord -D hw:1,0 -f S32_LE -r 16000 -c 1 | aplay -D hw:1,0 -f S32_LE -r 16000 -c 1

However, when I switch from “Signed 32 bit” to “Signed 16 bit:S16_LE”, the mic stops working. Can someone help me with this issue?

Thanks,

@dynamix for Jetson nano only supports 48K . Please try:

arecord -D hw:1,0 -f S32_LE -r 48000 -c 2 | aplay -D hw:1,0 -f S32_LE -r 48000 -c 2

Thanks @Baozhu for your help. The thing is for my application, I need a “16 bit” output instead of the “32 bit” that you are using here.I am wondering if “16 bit” is supported somehow on Jetson nano?

@dynamix works ?
arecord -D plughw:1,0 -f S32_LE -r 16000 -c 1 | aplay -D plughw:1,0 -f S32_LE -r 16000 -c 1

1 Like

Thanks again, my problem solved by creating “.asoundrc” file and configured it to use the correct mic.

1 Like

I have been unable to get ReSpeaker Mic Array 2.0 working plug and play with Jetson Nano A02. As soon as I plug it in, I do not see any changes in lsusb and no new cards in /proc/asound/cards … Can anyone help me with what I may be doing wrong?