Voice record/playback on EVK2 w/HE910?

4 thoughts on “Voice record/playback on EVK2 w/HE910?

  1. We are trying to develop a proof-of-concept app that will record a few seconds of audio in a file to then send it to a server using the HE910 + EVK2.  After reviewing the both the C Api (AppZone_APIs_User_Guide) and the Python Examples (Telit_wbsite_python_scripts_Rev6), we could not find a single example involving audio.

    Can anyone provide some pointers on where to find example code or documentation on how to programatically access the audio codec on the EVK2?

    Thanks!

    1. Hello Javier,

      AppZone and Python do not have integrated audio APIs, but you can use AT commands to retrieve the audio sampled data.

      This can be performed using the command

      AT#SPCM=2,0,0<CR>

      which sends to the serial interface a continuous bynary data flow, incoming from the microphone signal, in a 8kHz 8bit binary format.

      To stop the data flow, send a

      +++

      to the serial interface. For more information, please refer to the HE910 AT commands reference guide.

      However, please note that HE910 does not have an integrated audio codec, so you cannot use the EVK mic jack to retrieve the audio. You will need to use an external DVI codec connected to the HE910 interface board. For further information, please refer to the DVI Application Note.

      Once the codec is properly configured, you can use the AT#SPCM command like above.

      1. Hi Fabio,

        Thanks for your response and the link to the application note.  It’s disappointing that there is no audio support out-of-the-box for that module.  I am trying to understand what is the fastest way we can overcome that and get on with our application development.  Can you answer the following questions?

        1. Looking at the HE910 and EVK2 schematics (EVK2_User_Guide_r19, pg.261) we can see the signals EAR+/EAR- and MIC+/MIC- routed to the EVK via conn3ector SO101/PL101.  This signals are routed to the microphone/earphone jack and the audio amplifier depending on the jumpers in PL404.  Are these signals not available for capture/playback via AT commands?

        2. Is there a suitable DVI/Codec circuit like the one on the application note available for purchase?

        3. Is there any other 4G or 3G module that does have an integrated audio codec?

        Thanks!

        Javier

        1. Hi Javier,

          Please find my answers below:

          1. EAR+/EAR- and MIC+/MIC- are analog only signals. In the HE910 those pins are actually unconnected. They are present in the layout for compatibility purposes, but on HE910 analog audio is not supported. Since it is a module intended for m2m applications, it was designed with a DVI only. Regarding the signals routing, actually MIC+/- signals on the module interface are routed to PL404 on the EVK2. This is a differential signal, and if you connect PL404 with PL403 using jumpers, you will have the audio signal on the EVK jack (for modules that support analog audio). So, given that you have analog signal on MIC+/-, connecting directly to PL404 pins will require a bias network to power up the microphone, since the modules do not have internal bias.

          2. We do not sell DVI codec boards, but you can find an evaluation kit board on the codec vendor: https://www.maximintegrated.com/en/products/analog/audio/MAX9867EVKIT.html#popuppdf

          as far as I can see from the datasheet, you will need to connect the signals
          <CODEC board>     <HE910 interface>

          ADCOUT      <–>  DVI_RX   (pin1@PL203)
          DACIN       <–>  DVI_TX   (pin3@PL203)
          LRCLK       <–>  DVI_WA0  (pin2@PL203)
          BCLK        <–>  DVI_CLK  (pin4@PL203)
          GND         <–>  GND      (pin5@PL203)
          MCLK        <–>  REF_CLK  (pin6@PL203)

          Commands to configure the DVI codec from the HE910 serial interface, connecting the I2C signals (SDA on HE910 interface pin7@PL101, SCL on pin8@PL101):

          AT#DVI=1,2,1<CR>
          AT#DVIEXT=1,0,0,1,0<CR>
          AT#I2CWR=0,0,30,4,19
          > 00109000100A330000330C0C09092424400060<^Z>
          AT#I2CWR=0,0,30,17,1
          > 8A<^Z>

          However, I2C write operations should be performed using the evaluation board from the graphic tool. This is the configuration string:
          00 10 90 00 10 0A 33 00 00 33 0C 0C 09 09 24 24 40 00 60 (starting from register 4), and
          8A on register 17

          3. According with the DVI AppNote, UE910-EUR/NAR and UL865-EUR/NAR  have an embedded DVI codec. I tried using an UE910-EUR and it worked with the EVK2 jack (UE910-EUR and NAR are the same) without any required configuration. I tried the speaker with
          AT#SRS=10,10

          and the Mic with
          AT#SPCM=2,0,0

          Please note that at the moment NAR modules do not have AppZone support(only Python is supported). It is planned to add it next year.

          Best Regards

          Fabio Pintus