BlueParrott B350-XT headset - CSR8670 bluetooth module programming - Page 1
Forum section: electronics / projects

author: densmith123
author_rank: Contributor
timestamp: September 13, 2017, 12:15:50 am
content: Hello eevblog,A family member recently gave me a BlueParrott B350-XT bluetooth headset that will no longer charge the battery or power on. I have no experience with bluetooth devices up to this point, but I’ve started a fun little adventure exploring this device and it would be nice to get this thing working again. Even if it ends up in the trash, I have spent many hours studying it and want to share my work in case others out there can benefit.Troubleshooting thus far:1) Disassembled the unit and removed PCB (pictures attached)2) Tested all diodes, transistors, and passive components on the board, finding no failures3) Reflowed the original CSR8670 chip as a last-ditch effort, to no avail4) Downloaded datasheet to learn about the CSR8670 - this one is packaged in a 112-pad BGA (see attached)5) Purchased two replacement CSR8670 chips from digikey6) Removed original CSR8670 from the board, and spent 4 hours mapping out every BGA pad to its destination while the chip was removed7) Made a spreadsheet of this reverse engineering work (attached)8) Installed a new CSR8670 onto the board9) Using my newly acquired test pad data, confirmed valid linear regulator voltages on all voltage rails10) Realized that the device still does not work, probably due to the configuration settings not being migrated from the original chip11) Registered on the eevblog and requested CSR8670 programming assistance on this thread:https://www.eevblog.com/forum/projects/programming-off-the-shelf-csr8635-module/msg1300371/#msg130037112) Registered with CSR support and downloaded BlueSuite 2.6.8 fromwww.csrsupport.com/PCSW13) Purchased a Chinese CSR USB-SPI programmer, which will arrive in 2-4 weeksHeadscratchers:1) There is a 26 MHz external crystal oscillator that doesn’t seem to be working. I am getting 1.8V into the crystal from the chip, but cannot detect a signal coming out of the crystal back to the chip. I thought the crystal may have been damaged so I ordered a similar crystal from digikey and replaced it (26 MHz, 8pF load capacitance – datasheet attached). There is still no signal coming from the crystal on either the oscilloscope or the frequency counter. I believe an O-scope probe should be able to pick up this clock signal, unless the capacitance of the probe is stopping the crystal from oscillating, I just don’t know.2) The linear regulators only power up when the 5V is present at micro USB port (charger hooked up), but will not work from the power switch. VBAT measures steadily at 3.7V at all times. A look at the datasheet shows that VREGENABLE is triggered by the power button or when a charger is inserted. I am assuming that the power button will not bring the device on because the PIO config settings from the old chip have not been migrated to the new one. I have confirmed on the oscilloscope at the VREGENABLE test pad, that the power button VREGENABLE to logic high (button works).3) I am relatively new to BGA rework. As buriedcode pointed out below, there is always a possibility for a no contact condition on a critical pad. So far everything is testing good, but it is certainly possible that VREGENABLE pad E10 is not soldered. We’ll see what happens after I migrate the config settings.Note: In the pictures you will see that the 2.4 GHz bandpass filter is missing above the 8670. It slid off of its pads during the hot air rework CSR8670 installation (oops), so I will put it back on the board if/when I get the device to work again. I ordered a few spares from digikey just in case the original is destroyed.Here is the conversation that I started on another thread, copy/pasted here so it’s all in one place. A big thanks to Lipton5001 and buriedcode for bringing me up to speed on the basics of programming these modules.Quote from: densmith123 on September 11, 2017, 10:15:08 pmQuote from: lipton5001 on September 12, 2017, 07:44:10 amQuote from: densmith123 on September 12, 2017, 02:13:19 pmQuote from: Buriedcode on September 12, 2017, 02:14:59 pmQuote from: densmith123 on September 12, 2017, 03:34:17 pmQuote from: Buriedcode on September 12, 2017, 05:23:48 pmsearch keywords: B350, B350-XT, schematic, circuit, PCB, trace, disassembly, troubleshooting, repair, CSR8670, programming, BlueParrott, bluetooth, headset, test pads, TP*, CSR8670 datasheet, pinout

author: densmith123
author_rank: Contributor
timestamp: September 13, 2017, 12:37:31 am
content: Pictures of PCB and Headset

author: densmith123
author_rank: Contributor
timestamp: September 13, 2017, 01:20:19 am
content: I removed the BGA chip and mapped out all of the pads to the 34 test points. In the repair notes spreadsheet you will find two sections:1) A listing of all 112 BGA pads with their function, pin name, and test point or destination2) A listing of all 38 Test Points with their function, BGA pads associated, and function3) Pinouts for all of the connectors4) Functionality of the 4 switches and where to testSince I have replaced the 26 MHz crystal on my board, attached is a datasheet of the crystal I selected from digikey. If it ends up working, you'll know this is an option.Enjoy!

author: densmith123
author_rank: Contributor
timestamp: September 13, 2017, 03:52:54 am
content: The CSR8670 datasheet is too large to attach here. Please download it here if you need it:http://www.datasheet4u.com/datasheet-pdf/CSR/CSR8670/pdf.php?id=785475

author: densmith123
author_rank: Contributor
timestamp: September 13, 2017, 04:14:24 am
content: buriedcode,It turns out that there is a spot for a header to be soldered onto the board at the J3 location. I have run the traces from J3 and found that they do indeed communicate to the SPI I/O ports, so that will definitely make programming the chip easier. I updated the excel spreadsheet with the J3 information a few posts ago. I'll go ahead and solder a header there while I wait for my programmer to arrive from China.Attached is the 8670 block diagram excerpt from the datasheet. I don't know what a ROM mask is, but this chip doesn't appear to have one. It looks like it has an onboard eFlash to store its config settings, and there are Serial Quad I/O Flash (SQIF) ports to communicate with an external flash chip, so that must be what the empty footprint is for on the bottom of the board.It looks like I'm in good shape to program this new chip if I succeed in getting a dump off the old. Am I correct in this assessment, or am I out to lunch? Thanks for your help!-Denny

author: JSnowden
author_rank: Newbie
timestamp: October 03, 2017, 07:20:47 pm
content: If you look on 52Bluetooth.com in the "Attachment Center" (translated from Chinese) you can find example firmware for the CSR8670. If you cannot get a dump from the original chip, this might help get it working. I believe you can upload the firmware using BlueFlash, but it might require a UART connection to the chip.