AT+CHFA=0
Main audio channel (NORMAL_AUDIO). This is the default on boot.
Hardware reference
A practical guide for fixing no-sound/no-mic issues on the SPK/MIC pads of this board.
#define MODEM_RST 5
#define MODEM_PWKEY 4
#define MODEM_POWER_ON 23
#define MODEM_TX 27
#define MODEM_RX 26
void setup() {
Serial.begin(115200);
pinMode(MODEM_PWKEY, OUTPUT);
pinMode(MODEM_RST, OUTPUT);
pinMode(MODEM_POWER_ON, OUTPUT);
digitalWrite(MODEM_PWKEY, LOW);
digitalWrite(MODEM_RST, HIGH);
digitalWrite(MODEM_POWER_ON, HIGH);
Serial1.begin(115200, SERIAL_8N1, MODEM_RX, MODEM_TX);
delay(6000);
Serial.println("Ready. Monitor: 115200, 'Both NL & CR'. Type commands.");
}
void loop() {
if (Serial.available()) Serial1.write(Serial.read());
if (Serial1.available()) Serial.write(Serial1.read());
}
This code is a plain serial pass-through. After flashing it, open the Serial Monitor at 115200 baud with line ending set to “Both NL & CR”. Dial or answer a call first, and only once the call is connected, type the commands from the “Audio Settings” section below — they do not apply automatically and must be sent fresh after every reboot.
| Pin Function | GPIO |
|---|---|
RST | 5 |
PWKEY | 4 |
POWER ON | 23 |
TX | 27 |
RX | 26 |
AT+CHFA=0
Main audio channel (NORMAL_AUDIO). This is the default on boot.
AT+CHFA=1
Auxiliary audio channel (AUX_AUDIO). Confirmed working value for the SPK/MIC breakout pads on cheap/clone TTGO T-Call SIM800L V1.4 boards.
AT+CHFA=2
Main channel, hands-free mode (HANDFREE_AUDIO).
AT+CHFA=3
Auxiliary channel, hands-free mode (AUX_HANDFREE_AUDIO).
AT+CLVL=99
Speaker volume. Use 99 for clearer audio on smaller speakers, since they vibrate more; consider securing the speaker with rubber gaskets so it doesn't rattle.
AT+CMIC=0,13
Mic gain. This is the best setting found for an electret condenser microphone (ECM).
CHFA resets to 0 on every power cycle or reset, it does not persist. AT+CHFA=1 is the confirmed working value for the SPK/MIC breakout pads on cheap/clone TTGO T-Call SIM800L V1.4 boards — this needs to be set again after every reboot, along with CLVL and CMIC, since none of these settings survive a restart.