trouble sending AT commands to new bluetooth module

Hi there, i have been trying to enter AT commands using the setup as per - Arduino and HC-06 (ZS-040) | Martyn Currey
with this module - this
While i have had success with previous modules, this current one is not responding to AT commands. the only sign of life i can get out of it is when i issue a AT+NAME command and I get this response


I have used the module to transmit data successfully so its working ok. i should note that the chip is labelled as BK3231s as opposed to BK3231 which my previous modules had (which i was able to issue AT commands)
Thanks in advance.

Well, the good news is that you have established communication with the module.

Now what does the data sheet say ERR:1003 means? I suppose it's an error code.

hmm...can't seem to find a dang thing unfortunately. i may have to just try and get hold of some of the BK3231 (non s) variety albeit a rather dissatisfying and defeatist outcome.

I know this is way late...but for others experiencing the same issue who may come across this thread searching for a solution and find none has been posted.

For many of these Bluetooth modules, they won't accept AT commands unless they are put into a programming mode when they first power up. This way it prevents any problems with the data transmission if somehow your data happens to duplicate what appears to be an AT command (when it really isn't meant to be one for the module). Some of the Bluetooth boards come with a button you can push when you power up the board, some do not. If they do not, you unfortunately need to determine which pin/trace activates the programming mode and then run a jumper to 3.3V (not 5.0V!). When you power up the device you will find that it will now respond to the AT commands as you'd expect. Once you finish programming the device you then need to power it off, remove the jumper and then power it back on. Older modules that didn't require this extra step had problems if/when regular data transmission duplicated a valid AT command.

I don't think you can put it into programming mode after it has been powered up so...
If you need to do AT commands via firmware (i.e. your microcontroller is going to custom program the module during power up or at various times) you will need to setup an N-Channel MOSFET to the Bluetooth module's ground or a P-Channel MOSFET to the module's V+ (or a High-Side Load/Power Distribution switch). The P-Channel MOSFET is preferred to prevent ground differences between module and microcontroller (which can introduce noise into your transmission). This way you can easily control powering up/down the module when needed.

You will also need some means to pull the module's programming pin high at/before powering it up. For safety, place a 47k - 100k resistor inline to the module's programming pin. This is especially important if you use the P-Channel MOSFET (or Load switch) to control the module's power because the module's ground will still be active and therefore current can flow through the module via the programming this prevents any current/lockup problems on the module when powering the module's programming pin before power has been applied to the module itself. If you use the N-Channel MOSFET then the ground to the module is cutoff and applying voltage/current to the programming pin won't do anything to the module since a complete circuit won't exist (but then you may have to contend with ground noise from the ground differential instead).

you unfortunately need to determine which pin/trace activates the programming mode and then run a jumper to 3.3V

It's not that hard. The KEY or EN pin on the breakout board is easy enough to find.