I have 2 HC-05 modules, I managed to get them into AT mode without issue, in fact i had some issues getting in normal data mode. The pulldown resistor on the board (10K) did not manage to pull pin 11 low, but after i soldered a wire onto it, and connected it to GND it went into data mode again (or at least not in AT mode, AT commands stopped working and the led started to blink fast )
Now i want to use 1 as a master and 1 as a slave, so i followed this tutorial And if i enter the commands correctly the the HC-05 responds with OK. so all good but it doesn't seem to work,
I go back into AT mode, and when i check the data, the UART change has been persistent (it was somehow defaulted at 9600, but was still responding to 38400bps) but the setting for ROLE , which i had set to 1 with
AT+ROLE=1\n\r
had reverted to 0, so they were both still in slave mode
And even when i reissues the command, and checked straightaway after it did not persist.
Then i started wonder if maybe it is not an HC-05 but an HC-06 , but i bought them as HC-05 from AliExpress and they do have the v/Tick on them.
Do the HC-06's also respond with OK to a command they can't execute ?
Next to the 10K pulldown resistor for PIN 11 there is also a 2.2K, which is also connected to PIN 11, but doesn't appear to be connected anywhere else.
Ok so i got it working with 2 new modules, which do have persistent data, but through trial an error i came to the conclusion that it is actually the 'EN' pin being pulled up that puts the module into AT mode, and that normal 'data' mode is selected by powering up the unit while that pin is left free-floating. And that pulling it up during power disables the data mode.
This is still somehow different from what is described, but hey it works, i'm happy and can continue.
Still wondering what the button is for now though.
The button does essentially the same thing but, for reasons I don't know, only the commonly used AT commands can be executed. See the Martyn Currey website.