I2S for audio playback on H7 Plus or RT1062

Hi all,

I need to be able to playback audio from either the H7 Plus or the RT1062. Preferably, I want to use I2S. After reading around on the forum I’ve drawn the following conclusions and would really appreciate it if I could receive some feedback:

  1. According to https://forums.openmv.io/t/recording-audio/1896: There are no plans to implement the I2S driver (class I2S – Inter-IC Sound bus protocol — MicroPython 1.20 documentation) for any board?
  2. According to https://forums.openmv.io/t/audio-output-on-openmv-cam-h7/1476/9: OpenMV doesn’t support audio playback of any kind. Simply, the DAC code example shared in the post was to show how it could work, but no board supports audio playback of any kind?
  3. According to https://forums.openmv.io/t/adding-audio-to-an-openmv-project/8777: The best way to playback audio using I2S is to use an external MCU controlled by one of the OpenMV boards?

In the I2S driver (class I2S – Inter-IC Sound bus protocol — MicroPython 1.20 documentation) documentation it states that it’s only a technical preview. Does that mean that there exists a firmware version where it’s enabled? Or is it a technical preview in the sense of documentation only?

Thanks in advance to anyone who would like to give me some feedback!

Cheers,
Kurreman

There’s code in Micropython to use that for the IMXRT1062. There’s no code at all for the STM32. So, the fastest path would be on the IMXRT. However, don’t he RT1062 we don’t route out the I2S pins. So, there’s no way to make it work on the system.

As for the H7 Plus. ST designed the SPI peripheral to do I2S. So, P0/P1/P2/P3 could be used for I2S. However, you’d need to write the driver for this. This is not really that hard if you know how to do microcontroller development.

The harder work is to feed the module with data. I2S is a pretty simple DMA system. Give it a buffer and then call send. You just need to feed the buffers to it fast enough. This could either be from a WAV file or I the case of MP3 you need to have all the software to decode those files.

Thank you for your reply,

I’ll look further into the openmv repo and driver modification.

Cheers,
Koray

Where are the I2S pins on IMXRT1062? Are they used for anything else on the RT1062? Could it be possible with a delicate hand under a microscope to tap into the I2S pins on the RT1062?

A customer modified the driver and managed to get I2S signals from the pin headers and the JTAG connector.

This is full custom work. Not supported by us.