GSM Shield V2 Audio jack pin-outs & Audio Echo cancelation.

There are several issues I have asked about without responses;

  1. In the schematic “Arduino GSM Shield V2 Schematic.PDF”; Where is the open gap in the circuit labeled ‘SJ1’?

  2. Also the circuit that shows the jack for a 4 position plug,
    what are the electrical pin positions compared to the physical positions? The Pin-Out.
    I don’t want to assume anything.

I found this in a forum on the ‘.org’ site, but couldn’t find a response or a picture that was referenced.
"Re: GSM Shield 2 Audio output and Arduino sound output to one speaker
Postby fabioc » 14 Jan 2016, 11:18

Hi WimG83,
I looked the [|Shield Schematic].
It seems that 3-4 are output audio signal , 2 GND and 1 MIC, following the numeration of your jack picture.
I attach a picture that shows you the connections but I advise to verify them.

  1. I have a microphone working in a sketch where a call is placed to my cell. If any noise from my cell is heard by its mic, it is sent to the Quectel M10, then echoed back to my cell. I have worked with Quectel on trying to cancel the echo using AT+QECHO(and channel, level…) without any result.
    One rep told me that the command has been abandonded.

I would appreciate any help such as a working sketch like a telephone, the location of ‘SJ1’, and the physical to electrical layout of the audio jack.

I have been successful with the microphone setup. I use the mic to listen when the alarm call me.
Here is the code that works;
void conNetwork()
{ // topic=163449.0
unsigned long myTimeout = 30000; // YOUR LIMIT IN MILLISECONDS. Was 30 sec.
boolean notConnected = true;
unsigned long timeConnect = millis();

Serial.println(“Trying to connect…”);

// gsmAccess.begin("",true,false); //Use async mode and requires that GSM debug mode
gsmAccess.begin("",true); //Use async mode and requires that GSM debug mode
// has been set on GSM object creation.
while( notConnected && ( ( millis()-timeConnect ) < myTimeout) )
int result = 0;
result = gsmAccess.ready();
//Call this if debugging is on. Otherwise we will never reach GSM_READY…?!?
//if( debugFlag )
// {
Serial.print("Return code from ‘gsmAccess.ready’: ");
Serial.println( result ); // Print result code.
// }
timeLoop(1000); //might not call ready too often.??? See GSM3ShieldV1AccessProvider.cpp,
// GSM3ShieldV1AccessProvider::begin
result = gsmAccess.getStatus();

if (result == GSM_READY)
Serial.println( “GSM Connected!”);
notConnected = false; // Therefore true/connected.
Serial.print(F("GSM status: "));
Serial.println( result );
Serial.println(“Error in connection”);
char codeMsg=“RegF”;
Serial.println(“Connected to GSM network”);
/////////////////////////////////////////////////////////////////////// End of conNetwork

void micSetup()
// 1 Information response: Long result code format:
// 1 Information response: Long result code format:

// AT+QAUDCH Swap the Audio Channels, set the active channel to 1(2nd ch).

// AT+QMIC Change the Microphone Gain Level,,
// AT&W = Store Current Parameter to User Defined Profile

// AT+QAPS is used to modify echo algorithm parameters of all three
// software audio channels. The value 32513 = Disable.

// AT+CLVL is used to modify the analog gain of receiver.
// It can increase or reduce loudness of downlink speech.
Serial.println(modemAccess.writeModemCommand(“AT+CLVL=1”,5)); //Key to ‘No Echo’.
// AT&W = Store Current Parameter to User Defined Profile
In Setup, I call conNetwork, then micSetup.
In Loop, every 18 minutes, I check to see if the network registration is still good. If not, the call
the subs again.
Note the microphone is an amplified unit.

Hi there,

It seems like I am having the exact problems. Did you have any luck trying to solve that?
I also MPed you