Lab

Factory baud rates by module

The web is confidently wrong about this. The usual wrong answer is that everything is 9600 for everything — which is right for data on most modules and wrong for AT commands on an HC-05, where the factory default is 38400.

PICK YOUR MODULE
DATA MODE
9600
What Serial1.begin() and the Serial Monitor must both be set to.
AT COMMAND MODE
38400
Different from data mode. Opening AT mode at the data rate returns garbage.
WORTH KNOWING
Many ZS-040 clones ship at 38400 for data.
These are factory defaults. Anything that has had AT+UART run on it keeps the rate it was given — the table tells you where to start, not what your board is set to today.

What this shows

HC-05: 9600 for data, 38400 for AT commands. Many ZS-040 clones ship at 38400 for data as well.

HC-06: 9600, with no separate command mode — the same rate works for both.

HM-10 (genuine): 9600, rising to 115200 on firmware V700 and later. AT commands use the same rate as data.

CC41-A and MLT-BT05: 9600 for both. These are HM-10 clones and use a different AT command syntax from the genuine part.

57600 is not the factory default for anything on this list, despite appearing in widely viewed tutorials. A guide recommending it is describing a module somebody had already reconfigured. It is also the one rate a 16 MHz Arduino generates badly, at 2.12% error against 0.16% for 9600.

Common questions

What is the default baud rate of an HC-06?
9600, for everything. Unlike the HC-05 it has no separate AT command mode, so the same rate works for both data and configuration.
Is 57600 the right baud rate for a Bluetooth module?
No. It is not the factory default for the HC-05, HC-06, HM-10 or the CC41-A clones, although it appears in tutorials with large view counts. Those describe a module that had already been reconfigured.
Why does my HM-10 use 115200 instead of 9600?
Genuine HM-10 modules running firmware V700 and later default to 115200. Earlier firmware, and the CC41-A and MLT-BT05 clones, default to 9600.