Where to get a library I2S.h?

arduino ide 2.0.3
RAKwireless-Audio-library 1.0.6
RAK18030+RAK4631-R+RAK19007
where to get a library I2S.h ?
is there support for RUI3?

the check fails with an error ((

In file included from C:\Users\user\AppData\Local\Temp\.arduinoIDE-unsaved20221112-18756-zjrl6i.fkc9h\AnalogMicSerialPlotterFFT\AnalogMicSerialPlotterFFT.ino:14:
d:\Dropbox\Arduino\libraries\RAKwireless-Audio-library\src/audio.h:8:10: fatal error: I2S.h: No such file or directory
    8 | #include <I2S.h>
      |          ^~~~~~~
compilation terminated.

exit status 1

Compilation error: exit status 1

Hi @davinci102 ,

For WisBlock Audio applications, right now it only supports the Arduino BSP core RAK4631. Not the RAK4631-R yet. You have to convert your RAK4631-R board to RAK4631.

You can follow this guide how to do it - Device Firmware Upgrade | RAKwireless Documentation Center

If you still got I2S error after using RAK4631, please tag me so I can support you.

Thank you, carlrowan!
yes, everything works in RAK4631 mode!

1 Like

Hello,carlrowan.
I am facing the same issue.
arduino ide 2.2.1,RAKwireless-Audio-library 1.0.7。
I am using RAK4630 (L) + RAK19001 (VB) + RAK18032, and I am trying to create an application, but when I use the example(HighRatePDMSerialPlotterFFT), it reports an error of missing I2S.h. How can I solve this problem?

c:\Users\htt\Documents\Arduino\libraries\RAKwireless-Audio-library\src/audio.h:8:10: fatal error: I2S.h: No such file or directory
8 | #include <I2S.h>
| ^~~~~~~
compilation terminated.

exit status 1

plus:I searched my entire computer and there is no file named I2S.h, but in fact, I have already installed the required libraries (RAKwireless-Audio-library 1.0.7)

Hello
I am wondering if there is a I2S.h file in your computer? Cause I am facing the same issue.

Are you using the Arduino BSP for the RAK4631 or the RUI3 BSP?
RUI3 BSP does not have I2S implemented (yet).

Hello,beegee.
I am using RUI3 BSP. So does this means that I can not plant your example(highratePDMFFT) base on the RUI3 BSP even if I use RAK4631

But I notice that if I switch the board to “WisBlock RAK4631”,the example (highratePDMFFT) can pass compile but can not upload to my board. If I switch the board to “WisBlock core RAK4631”,the example (highratePDMFFT) can not pass compile.
here is my error information:
Failed to upgrade target. Error is: No data received on serial port. Not able to proceed.
Traceback (most recent call last):
File “main.py”, line 296, in serial
File “dfu\dfu.py”, line 235, in dfu_send_images
File “dfu\dfu.py”, line 199, in _dfu_send_image
File “dfu\dfu_transport_serial.py”, line 179, in send_start_dfu
File “dfu\dfu_transport_serial.py”, line 243, in send_packet
File “dfu\dfu_transport_serial.py”, line 282, in get_ack_nr
nordicsemi.exceptions.NordicSemiException: No data received on serial port. Not able to proceed.

Possible causes:

  • Selected Bootloader version does not match the one on Bluefruit device.
    Please upgrade the Bootloader or select correct version in Tools->Bootloader.
  • Baud rate must be 115200, Flow control must be off.
  • Target is not in DFU mode. Ground DFU pin and RESET and release both to enter DFU mode.

You cannot just switch the boards in ArduinoIDE, you have to flash first the correct bootloader and softdevice as shown in our Documentation Center RAK4631 ==> RUI3 and Converting RAK4621-R to RAK4631

RUI3 does not support I2S at the moment, so if you need it, you have to switch to the open source Arduino BSP.