cancel
Showing results for 
Search instead for 
Did you mean: 

What Mode is the BLUENRG-M2SP module in when its comes from the factory?

DKopp.2
Associate III

We transitioned from BLUENRG-M0L to BLUENRG-M2SP. We did some basic application testing with the X-NUCLEO-BNRG2A1 platform, and we had the example application up and running seamlessly.

However, we’ve encountered an issue when integrating the BLUENRG-M2SP with our existing boards. I’m having trouble running the example application. The module and the main controller talk via SPI. While going through the data sheet, I discovered that the BLUENRG-M2SP module must be in Mode “100” pin configuration to be able to talk via SPI with our main controller.

 

Question:

Does the module come in “MODE 100” out of the package or is this something we must do at our end.

 

Any clarity on the topic would help us a lot.

 

DKopp2_0-1712244297860.png

 

1 ACCEPTED SOLUTION

Accepted Solutions
Laurent LOUAZON
ST Employee

Hello

As far as i can see BlueNRG-M0 is guaranteed up to 2029 (see our 10 years longevity program) as of today
Product longevity - STMicroelectronics

 

As far as I know BlueNRG-M2 is not and will not be provided with a pre-flashed image.
This may be a service that could be discussed with distribution. 
Even if you have not implemented access to SWD on your PCB, it is pretty simple doing it for few samples as soldering samples is quite easy with such module.

BlueNRG-Mx are really our module's offer when dealing with module newtork porcessor. That said, it is true BlueNRG-M2 request this extra effort of programming the binary provided by ST.

Regards
Laurent

View solution in original post

7 REPLIES 7
Laurent LOUAZON
ST Employee

Hello,

 

BlueNRG-M0 is a network processor module.
It means it is delivered with a FW directly by ST.

BlueNRG-M2 is based on BlueNRG-2 SoC. BlueNRG-M2 is shipped by ST without any FW (opposite to BlueNRG-M0). It means  you can run either your own application, either use it in network processor mode.
If willing to use it as application processor, you will have to flash a specific FW called DTM. This FW can be found in BlueNRG-2 SoC SDK (link below)
https://www.st.com/en/embedded-software/stsw-bluenrg1-dk.html

You will find for example DTM_SPI_NOUPDATER_M2SP.bin pre complied binary that you can direcltly flashed inside your BlueNRG -M2SP so that it will act as netwrok processor over SPI.
Then DTM source code is also available here and you'll see inside how SPI is defined with the mode you mention.

 

Regards
Laurent

DKopp.2
Associate III

Hello  Laurent LOUAZON,

 

Really appreciate the quick response. We were kind of stuck.

Quick correction on my part - we are using BLUENRG-M2SA.

 

We were using the BLUENRG-M0L prior to BLUENRG-M2SA. TheBLUENRG-M0L module came out of the package talking SPI with our controller. Our boards are not currently equipped with separate header to flash the BLUENRG-M2SA module with program.

 

Our requirement:

We were looking for a Bluetooth module in network processor mode so we just talk to the application and not have to write the Bluetooth application.

 

So here are my questions:

1) Can we order the BLUENRG-M2 in Mode "100" from ST? With the FW already flashed at an additional cost?

2) Do you have any other part in your product portfolio that has a BLE 5.2 that is readily available in network processor mode?

3) If we decide to go back to BLUENRG-M0L, what is EOL for the part. Our product EOL is 10+ years. So we want to make a conscious choice on what we are picking.

Looking forward to hear from you.

Regards

Dhaksha Koppad

Laurent LOUAZON
ST Employee

Hello

As far as i can see BlueNRG-M0 is guaranteed up to 2029 (see our 10 years longevity program) as of today
Product longevity - STMicroelectronics

 

As far as I know BlueNRG-M2 is not and will not be provided with a pre-flashed image.
This may be a service that could be discussed with distribution. 
Even if you have not implemented access to SWD on your PCB, it is pretty simple doing it for few samples as soldering samples is quite easy with such module.

BlueNRG-Mx are really our module's offer when dealing with module newtork porcessor. That said, it is true BlueNRG-M2 request this extra effort of programming the binary provided by ST.

Regards
Laurent

Hello Laurent LOUAZON,

Thank you for the response. We are going to be try and add a header on the PCB to be able to program BLUENRG2 module. 

I am trying to mock up a header to test this on our board before we do PCB changes. I have a quick question - do we need the reset line to be connected or is it enough to just have VDD, GND, CLK and SWDIO?

I am kind of new at this, I'm not sure what the STLINK does when flashing. 

Thank you for all your support

Regards 

 
 

Hello,

 

This is recommended to have reset pin.

 

Also note having an access to DIO7 can be useful. If a low power application is running inside BlueNRG-2/BlueNRG-M2,  DIO7 is needed to force bootloader (set DIO7 high before power on) and ensure SWD can be used.
See AN4872
No needed at first flash considering BlueNRG-M2 is not having any FW flashed.

 

Regards
Laurent

Hello Laurent LOUAZON,

 

I managed to flash the chip using  BLUENRG-1 ST-LINK Utility and the tool said verified OK. I'm assuming this means that the FW was flashed into the module. Then I programmed our main controller to the sample application -Sensor Demo app and tried talking to the module and the application was timing out when trying to reset the BLUENRG_M2 module.

I started stepping through the code to see where its failing. Its failing to do the hci_reset(). Specifically in hci_send_req -->send_cmd()-->HCI_TL_SPI_Send(), where its waiting for the IRQ pin to be raised by the module (IsDataAvailable()). I have manually triggered an IRQ on the pin that is configured as an Interrupt for the BLE module. It triggered it, so I know the pin works/ controller is seeing raising edge when it happens.

You have any thoughts on why this is happening?

We are also looking for a possibility of programing the M2 module via our main controller(STM32F429NIH6). If you have any project examples that I can look into where a controller is used to flash the M2 network processor. Please point me towards it.

PREVIEW
 
 
 

Hello Laurent LOUAZON,

I flashed the DTM image on to the DEMO board X-NUCLEO_BNRG2A1 which I'm using with NUCLEO-F303ZE board. The BLUENRG M2 module stopped responding. The same configuration was working prior to the FW update.

The image I used is BLUENRG-M2SP_DTM_SPI.hex that i downloaded from the ST website. I would appreciate any help on this. My project is basically stalled at this point because I dont even have the DEMO board to work on.