I have received some pcb's which have BCM20737 mounted on them. How do I check if the ble chip is working or not? The board is drawing the correct current, but when I try to program the board (in Wiced Smart SDK) I get a 'download failed' response. Aside from replacing the chip is there another way to detect if a microcontroller is working?
Assuming this is a chip on board design and not the module/SIP that has an 'S' at the end of the part number?
Prior to programming attempt, make sure the UART_RX is asserted high during your RESET pulsing.
When not trying to program the EEPROM (ie UART_RX is asserted low during RESET pulsing), can you monitor the SDA/SCL pins going to the EEPROM to see if there is any bus activity after RESET is de-asserted which indicates the MCU is reading the EEPROM contents for the application code?
I assume you see the Crystal running?
Run the MBT.EXE tool to see if the device can at least respond to HCI commands.
Hello Suzanne to add onto Shawn's comments what I would recommend is to probe the HCI_TX line and the HCI_RX lines. As Shawn mentioned out of a POR/Reset the HCI_RX line should be pulled High which forces the BCM2073xx into the Programming state. If the device is in the programming state and you attempt to program the device via the SDK you will see data being presented to the BCM2073xx on the HCI_Rx line(Need to ensure you have a USB-UART of course to connect to the PC) and then shortly afterwards you will see a response from the BCM2073xx back to the PC/SDK via the HCI_TX line.
If you don't see any response on the HCI_TX line you have one of 2 items occurring...
1) The Device is NOT in programming Mode
2) You have something either wrong with the BCM device or PCB itself.
To validate you have programmed it successfully you can release the HCI_RX from being pulled HIGH and Reset/Power Cycle the device again and then in the SDK View the Trace Output. You should see Debug Traces(print statements) coming out of the Trace window. You could also simply view these on a COM Terminal window.
Other than that you could simply use a Mobile BLE App such as LightBlue or similar to see if you see the device showing up, I.E. - It is Advertising.
Oh My...What sort of header do you have to even use for programming? You should minimally have pins to the external world for the following pins, correct...?
If you don't have access to these pins it is going to be nearly impossible to do anything with the BCM2073xS on this board.
You could try to scrape away some of the soldermask to get to the Copper Vias/traces.
I might recommend you to take a look at the Schematic and UserGuide for my micro-sized Breakout boards which at initial glance look to be about the same size as your PCB anyway and have essentially everything you need already. The user manual shows the Layer by Layer PCB routing. There is a Through Hole/Bread-board and a SMT(castellated via) version. Regardless the User Guide/Schematic will provide some help on PCB layout.
The other item I can clearly see is that it would be recommended to move the BCM2073xS to the very edge of the PCB with the Antenna side on the edge of the PCB so that the Antenna is facing into 'free space'.
Note: You referenced the BCM20737S earlier but the part that shows in the PIC on your PCB is the 20736S
You can can find the user guides(PCB Layout drawings)/schematics from the links below...