cancel
Showing results for 
Search instead for 
Did you mean: 

BlueNRG-M2SP Custom PCB IRQ Won't Go High?

soliddomo
Associate

I recently got a new custom PCB with a STM32L476RGT6 and a BlueNRG-M2SP. I have a Nucleo L476RG and a X-NUCLEO-BNRG2A1 to test and make sure the program works. I am running the SensorDemo_BLESensor-App project from the X-CUBE-BLE2 package, and it works flawlessly on the dev board with the pinouts that are on my PCB, connected with jumper cables.

I have been trying to isolate why this program isn't working on my PCB, and realized the IRQ pin is not going high after the send_cmd() function. So basically with the dev board whenever it runs hci_reset(), and eventually into hci_send_req where send_cmd is, IRQ goes high, but on the PCB, IRQ never goes high.

Now from my understanding, this can be a problem in several areas. I have a multimeter, and confirmed CS is going high at the same time in the code for both the PCB and the dev board, and I set PD2 on my PCB high as a test and it worked so the PD2 (Where my IRQ pin is connected to) works as well. I can go to my uni and use their logic analyzer to see the timing of SCLK and the MOSI/MISO bits, but is there any other reason why this is not working?

 

I uploaded DTM_SPI.hex onto the BlueNRG2 with SWD already, the VDD pin is getting 3v3 with a 100nf cap on it. Could it be a problem with the impedance from the traces on the PCB and the timing is wrong? I should also include for both the dev board and the pcb im not using an external crystal, as the program still works using the internal oscillators.

I'll attach the schematics because maybe my pins are connected wrong? I'm really at a loss and for the past couple days have been trying to test everything I can to no avail. Anything would be useful, Thank you!bluetooth schematic.pngMCU Schematic.png

3 REPLIES 3
Jaume
Associate II

Hi, I was wondering if you were able to solve the problem as I'm having the same problem.

I have a BlueNRG-M2SA on a custom PCB with an STM32U575RGT and I'm having the same problem you are having. The IRQ pin doesn't go high when after the send_cmd() function. I've tried both the SensorDemo and Beacon applications from X-Cube-BLE2 but none doesn't seem to work. My pinout is the same as yours except the SPI_CS pin which I have connected to DIO11 instead, but I've also tried connecting it to DIO1 with an external cable and still nothing.

I also uploaded the DTM_SPI.hex image into the BlueNRG-M2SA with SWD.

So it would be great if you were able to solve it and could give me an idea on what to do on my side.

My problem that I found was that the CS pin for the v2.1e DTM stack was routed to pin DIO11, when I had it on DIO1. Since you already tried both, I’m not sure if that’s your issue.

I used the DTM stack found on BlueNRG-M2 -> Tools & Software -> Utitilies. I used the BLUENRG-M2SP_DTM_SPI.hex with the correct pinout and that fixed the communication. This is my final schematic for the M2SP for the project.

 

IMG_4167.jpeg

Thanks for the rapid response. It does seem like my problem is a different one because I have the same pinout as you and also used the STM stack from the ST website but thank you anyway