Author Topic: Programming off the shelf CSR8635 module  (Read 94515 times)

0 Members and 5 Guests are viewing this topic.

Offline densmith123

  • Contributor
  • Posts: 10
  • Country: us
Re: Programming off the shelf CSR8635 module
« Reply #75 on: September 11, 2017, 10:15:08 pm »
Hello all,

I have an old bluetooth headset that uses the CSR8670 and I would like to replace the chip because I believe it has an internal failure in its charger circuitry.  I have already purchased a pair of replacement 8670s.  Correct me if I'm wrong, I believe that I need PSTOOLS to transfer the config settings from the factory chip to the new chip so it will work with the headset.

I can find a USB-SPI programmer and I have mapped out where all the SPI communication points are on the PCB, but I cannot find the IDE software anywhere.  I've seen software names such as BlueSuite, BlueLab, ADK 4.1, but I'm not really sure what I need.
I'm running Windows 7 and would like to communicate to the board via USB. 

What software do I need and where the heck do I get it?  I have registered with CSR Support and asked them for the software, but I highly doubt that will pan out.  I've scoured the internet to no avail... can somebody hook me up?   Please help (I'm a noob).  Thanks!!!
 

Offline lipton5001

  • Contributor
  • Posts: 5
  • Country: de
Re: Programming off the shelf CSR8635 module
« Reply #76 on: September 12, 2017, 07:44:10 am »
Yep, for a simple config backup PSTools is all you need; luckily it’s the most updated/compatible software there is for this chip.

The software that includes it is indeed called BlueSuite, and might indeed now be hard to find since CSR was bought out and is now moving resources;

Irrespective - you somehow seem to not have searched youtube: https://youtu.be/7gdZsPkljoo
 
The following users thanked this post: densmith123

Offline densmith123

  • Contributor
  • Posts: 10
  • Country: us
Re: Programming off the shelf CSR8635 module
« Reply #77 on: September 12, 2017, 02:13:19 pm »
Lipton,

Thanks for your help.  I did a Youtube search for CSR8670, but silly me, I did not expand the search to include other chips in the series - Lesson Learned!

The video you shared has provided me with everything I need.  Here's a quick recap of what I did to obtain the BlueSuite software, for others that may be in the same dilemma:

1) Register at www.csrsupport.com - you will get grief from the website for using your personal email address vice business email, but you can ignore this
2) Wait for account approval - this took about an hour for me - you will get an email with your account approval and password
3) To download Bluesuite: www.csrsupport.com/PCSW.  If you need an older version of the software (Windows Vista, XP, 32-bit, etc.), go to www.csrsupport/PCSWArchive
4) Download latest version: as of 9/12/2017 it is BlueSuite 2.6.8

I will get this software installed and use PSTools to migrate the config data from old CSR8670 chip to new.  Thanks eevblog, this was a great first experience on the forum!!!

-Denny
 

Online Buriedcode

  • Super Contributor
  • ***
  • Posts: 1183
  • Country: gb
Re: Programming off the shelf CSR8635 module
« Reply #78 on: September 12, 2017, 02:14:59 pm »
The config isn't stored on chip.  They are ROM devices, with an external EEPROM for config.

If you are dealing with 'modules' (which contain the EEPOM and passives) then you would indeed need to transfer the settings from one to the other, but if you are actually swapping the chips (QFN or BGA, either way, not easy with all the tiny surrounding passives!) then you won't need to transfer any settings, just make sure the device has the same ROM mask.

For the most part, as mentioned, just using PSTools to make a memory dump, then 'merge' to write to the new EEPROM will work.  Again, assuming the ROM's are the same.
 
The following users thanked this post: densmith123, mehdikh15

Offline densmith123

  • Contributor
  • Posts: 10
  • Country: us
Re: Programming off the shelf CSR8635 module
« Reply #79 on: September 12, 2017, 03:34:17 pm »
Thanks Buriedcode!

For this particular headset (BlueParrott B350-XT) there is only one chip/module, the CSR8670, in a 112 pad BGA package.  The design of the PCB includes a location for an EEPROM, but it is not populated so I am guessing it used in some of BlueParrott's other headset models. 

I did successfully remove and replace the 8670 module with hot air and lots of Kapton tape on the surrounding little components so they wouldn't be disturbed.  While it was off, thanks to the 8670 datasheet, I was able to map out all of the traces and make a spreadsheet that correlates the BGA pads to the 34 test points located throughout the board. 

After installing the new 8670 module, I have confirmed that all of the power rails supplied by the internal regulators are putting out good voltages, yet I cannot make the headset function.  I am assuming that the problem is that I still need to migrate config data over from the old chip, which probably includes programmable input/output (PIO) settings for the buttons and LEDs,  and other configuration settings.  That dilemma is what brought me to this thread.  I have just downloaded BlueSuite 2.6.8 and purchased a Chinese CSR USB-SPI programmer on ebay, so I guess this project will be on hold for a few weeks now  :-\

With the original 8670 module off the board now, I am sure it is going to be a real treat trying to download config data off of it.  I may need to make a little PCB with Eagle, or perhaps try to solder some magnet wire onto the chip's SPI pads.  :o   

-Denny
 

Online Buriedcode

  • Super Contributor
  • ***
  • Posts: 1183
  • Country: gb
Re: Programming off the shelf CSR8635 module
« Reply #80 on: September 12, 2017, 05:23:48 pm »
Hopefully there will be test pads on the original unit for the SPI connections.

The lack of EEPROM on there leads me to think its a custom ROM for that particular headset/product.  This may or may not be a deal breaker because it means the 8670's available on ebay and the like will have a different ROM mask/version to the one you are replacing.  I don't think you have much hope of recovering the original 'settings', as they would be permanently in the ROM mask.

However.  As there is a footprint for an EEPROM, there is hope.  Any new device (8670) you'll solder on there will most likely expect an EEPROM - as all the 'modules' on ebay have them on board.  Now, if you can find any test pads for config (might not be any as it seems the device has no EEPROM, and so, won't require configuration) you could use your programmer... but as you have to solder on an EEPROM anyway, you might be able to program that first, them solder it on.

I can provide a hex file for the EEPROMs I have on my modules. (I have an Arduino sketch for reading a dump somewhere..).

But again with the bad news... whilst there are 'standard' profile setups for these things (like 3 button headphones, 5 button headphones, single button hands free etc..) your headset could have a completely custom setup, with specific PIO's used... if you have traced out the PCB to those PIO's then you can set them in the 'headset configuration utility' that is kicking about the web.

So I suspect the reason it isn't up and working is one/some/all of the following:
-Not all connections soldered, a real possibility with BGA rework. No insulting your skills here!
-Different ROM mask, one that expects an external EEPROM to have settings.  If none is detected, these things remain in standby. Good call on checking the output from its internal 1.8V regs.
-Wrong pin mapping from buttons to IO.

Given you removed an 8670 from a module, if the EEPROM footprint is the same on your headset.. then you could swap over that too.  Hopefully the headset will use the default pin mapping for control buttons and LED's. If its a different foot print, looks like you'll either have to bodge it, or.. buy a new EEPROM.. clone the old to new, then solder that.

Sounds like mission, but it could all work out!
 
The following users thanked this post: densmith123, mehdikh15

Offline densmith123

  • Contributor
  • Posts: 10
  • Country: us
Re: Programming off the shelf CSR8635 module
« Reply #81 on: September 13, 2017, 12:30:16 am »
Buriedcode, Lipton5001, all interested:

Thanks for your help up to this point.  I have started a new thread to dive into the troubleshooting/repair/programming of the CSR8670 module located in the BlueParrott B350-XT bluetooth headset.  I've migrated quotes from this thread to that one, and will post PCB pictures, datasheets, my repair notes, etc.  My latest response to buriedcode is also on that thread, so I will not be disturbing these kind CSR8635 programmers here any more.  ;D

https://www.eevblog.com/forum/projects/blueparrott-b350-xt-headset-with-csr8670-bluetooth-module-revival-attempt/msg1300677/#msg1300677

-Denny
« Last Edit: September 13, 2017, 04:27:08 am by densmith123 »
 

Offline JSnowden

  • Newbie
  • Posts: 3
  • Country: us
Re: Programming off the shelf CSR8635 module
« Reply #82 on: October 03, 2017, 03:48:26 am »
Hi everyone,

I've read through this whole thread and I'm glad to see it's still active. I registered so I could hopefully get some help with my own programming.

I can change all the settings I like on the CSR8635, but there's one thing I can't figure out - can I use it as an audio transmitter? Someone else asked this and didn't get a response. It has stereo line input, so I don't see why not, but the datsheet is so vague on that matter.

Another question, which might be beyond the scope of this thread; what tools should I use to program the CSR57E6 module? It works as a transmitter by default, which is why I'm interested in it. It works with PSTools, but obviously not with the CSR86XX ROM Config Tool. I've read about a "BlueTunes Configuration Tool 2.1.6" which seems to be what I need, but I can't find it anywhere. All I want to change is the function of the buttons and LEDs.
 

Offline lipton5001

  • Contributor
  • Posts: 5
  • Country: de
Re: Programming off the shelf CSR8635 module
« Reply #83 on: October 03, 2017, 08:45:22 am »
All the software I have linked was found on

http://www.52bluetooth.com/

It's a huge pain in the ass the browse but with patience you'll find a lot of useful software : just download all the versions you can find of each program you can find, run them under some old windows 7 32b installation, and you may just get to what you want :D

As a pro tip: register each time you're asked with a 10 minute email address, those worked perfectly for me WHEREAS my actual yahoo/google addresses were somehow flagged/blocked immediately
 

Offline JSnowden

  • Newbie
  • Posts: 3
  • Country: us
Re: Programming off the shelf CSR8635 module
« Reply #84 on: October 03, 2017, 07:06:24 pm »
Thanks for the tip! I was able to download BlueTunes Configuration Tool 2.1.6 and BlueLab xIDE 4.1. The BlueTunes Configuration Tool seems to not correctly modify the PS keys when you output to a file, so I won't even try using it to write to my device.

There are still some files I need that seemed to be blocked. How do I get past the "Sorry, this item is available to download for certain users only" when trying to download attachments from posts? The website says I should be able to download anything I want, so I don't understand what's stopping me.

One more thing - is there a list anywhere describing which PSkeys do what for which devices? The ones with names are fairly obvious, but the ones that I'm concerned about are the "PSKEY_USR" entries. Datasheets for respective devices don't reveal much about PSkeys, and the only other mention I can find is in specific applications like this which don't apply to all modules: https://www.manualslib.com/manual/920969/Csr-Bluecore-Adk-3-0.html?page=11.
 

Offline ShtokyD

  • Newbie
  • Posts: 4
  • Country: ru
Re: Programming off the shelf CSR8635 module
« Reply #85 on: October 04, 2017, 09:13:21 am »
This thread is very helpful! I'm also trying to make an audio transmitter using CSR8630 or CSR8645 but have no idea how to reprogram it to make it Master role (transmitter) to pair with remote bluetooth speakers, seems like it has a slave role by default (or only the slave role....)
I also found out CSR57E6 chip is used in many transmitters like cheap H-366T (off ebay, no aptx), Avantree Priva 2 (expensive one, with aptx-LL)... I'm also wondering why devices with same chip some have aptx and some not....
JSnowden please post here your thoughts and progress on the "CSR8630/CSR8645 into transmitter" topic and CSR57E6 programming, this would be very helpful!
 

Online Buriedcode

  • Super Contributor
  • ***
  • Posts: 1183
  • Country: gb
Re: Programming off the shelf CSR8635 module
« Reply #86 on: October 04, 2017, 05:18:17 pm »
As far as I am aware, the 8635, 8645 and 8670 are slaves only, not hosts.

AptX capability depends on the ROM mask, it could be that all capable devices support AptX but require specific PSkeys based on encryption to enable it - either way, it is easier and cheaper just to get a device with AptX enabled, the CSR8645 seems to be the most common.  The only device I've found that supports AptX-low latency, is the CSRA64215.

Given how cheap bluetooth transmitters are, and as one probably doesn't need many (one or two) I would just buy up a decent branded one, like avantree, or iClever (I got one of those, AptX-LL for £11).

 
The following users thanked this post: mehdikh15

Offline ShtokyD

  • Newbie
  • Posts: 4
  • Country: ru
Re: Programming off the shelf CSR8635 module
« Reply #87 on: October 05, 2017, 01:12:15 am »
well, what I found out during my research on all this stuff is that CSR8670 (bluetooth 4.1) supports aptX-LL (Low-Latency) codec and can be in both Transmitting and Receiving modes... SCR57E6 (bluetooth 4.1, 3.0) also support aptX-LL and can be in Transmitter and Receiver modes. These two chipsets are widely used in bluetooth audio transmitters/receivers like: TROND BT-DUO (CSR8670), Avantree Saturn Pro (CSR57E6 - not sure), Avantree Priva 2 (CSR57E6), Brightech BTX Ultra (CSR57E6), Btamz Bluetooth 4.1 (CSR57E6), TaoTronics Bluetooth 4.1 (CSR57E6 - not sure).... they cost from $15 to $40. So I agree, easiest way is just get some of these devices and pull out the bluetooth module...
Btw, I can't download anything from 52bluetooth.com website, it won't let me even with the account, how you guys do it??
Here are some links I found that might be helpful:
http://bluetoothchip.blogspot.ru/2014/10/firmware-configuration-keys-for-csr-8670.html?m=1
https://github.com/stephen-kun/csr8670
https://github.com/roywell/sink_adk_40?files=1
 

Offline ShtokyD

  • Newbie
  • Posts: 4
  • Country: ru
Re: Programming off the shelf CSR8635 module
« Reply #88 on: October 05, 2017, 09:27:12 am »
Full name of CSR57E6 is CSR BC57E687(C) BlueCore5:
http://www.czwtech.com/uploadfile/cfile/2012111092037889.pdf
 

Offline Chilmars

  • Contributor
  • Posts: 10
  • Country: gw
Re: Programming off the shelf CSR8635 module
« Reply #89 on: October 06, 2017, 06:19:03 am »
Hello can enybody help?
I got CSR8645 chip and make my own equalizer setting with csr8600 rom everythink worked but only with device I got paired via bluetooth.If I pair another device like  PC or tablet the equalaizer is again FLAT in it's original.Can I make it that my equalaizer settings works with every device I pair?
 

Offline lipton5001

  • Contributor
  • Posts: 5
  • Country: de
Re: Programming off the shelf CSR8635 module
« Reply #90 on: October 06, 2017, 08:08:01 am »
I've had some tips on setting equalizers for BOTH 44.1 and 48 Khz

(I could only access the 44.1 as iPhones apparently downconvert everything to this rate, even 48 Khz mp3s)

I suspect your PC is using the higher sampling rate (48), so, you need to go in and set the equalizer again (whilst having the computer playing over it)
 

Offline Chilmars

  • Contributor
  • Posts: 10
  • Country: gw
Re: Programming off the shelf CSR8635 module
« Reply #91 on: October 06, 2017, 08:19:39 am »
Yes my phone goes 44.1Khz and PC 48 Khz but when I pair onother phone the settings is flat
Have you tried pair with some other phone?Have you the same equalaizer settings?

And have somebody CSR8645 firmware
I need flash module...because it' seems dead,it's conect over SPI but no LED lights goes on and I cant pair it
« Last Edit: October 06, 2017, 08:29:29 am by Chilmars »
 

Offline lipton5001

  • Contributor
  • Posts: 5
  • Country: de
Re: Programming off the shelf CSR8635 module
« Reply #92 on: October 06, 2017, 08:39:22 am »
Check my videos above in this thread - I have dumps in the descriptions
 

Online Buriedcode

  • Super Contributor
  • ***
  • Posts: 1183
  • Country: gb
Re: Programming off the shelf CSR8635 module
« Reply #93 on: October 06, 2017, 01:42:28 pm »
And have somebody CSR8645 firmware
I need flash module...because it' seems dead,it's conect over SPI but no LED lights goes on and I cant pair it

These are ROM devices, there is no flashable firmware.  Sounds like the config in EEPROM has been corrupted (keys lost, bricking it) in which case you can use PSTool with a fresh dump from another module to 'revive it'.
 
The following users thanked this post: mehdikh15

Offline Chilmars

  • Contributor
  • Posts: 10
  • Country: gw
Re: Programming off the shelf CSR8635 module
« Reply #94 on: October 07, 2017, 07:43:26 am »
Yes I have dump and when I upload to board and reset it.Then it lights up and work,but when I switch off power it never power up. I can only conect via PSTool and it shows me name of BH07
I got dump file and also eeprom hex file...how I can upload the last one
« Last Edit: October 07, 2017, 07:45:23 am by Chilmars »
 

Online Buriedcode

  • Super Contributor
  • ***
  • Posts: 1183
  • Country: gb
Re: Programming off the shelf CSR8635 module
« Reply #95 on: October 07, 2017, 05:51:07 pm »
Yes I have dump and when I upload to board and reset it.Then it lights up and work,but when I switch off power it never power up. I can only conect via PSTool and it shows me name of BH07
I got dump file and also eeprom hex file...how I can upload the last one

Generally you shouldn't need to manually program the EEPROM with a hex file, the bluetooth SOC will write to it for you when you 'merge' with a dump file from PSTools.  If it doesn't 'wake up' on power up after a power cycle, that could be any number of things.  There is quite a lot of possible configs for the 'multifunction button' and power_enable line. I'll have to look at the config to see whats happening.
 

Offline Chilmars

  • Contributor
  • Posts: 10
  • Country: gw
Re: Programming off the shelf CSR8635 module
« Reply #96 on: October 08, 2017, 06:40:50 am »
This is the psr file that I can dump from chip.
http://www106.zippyshare.com/v/EbgVfBme/file.html
 

Offline Chilmars

  • Contributor
  • Posts: 10
  • Country: gw
Re: Programming off the shelf CSR8635 module
« Reply #97 on: October 09, 2017, 05:09:21 pm »
I got it back :clap:
uplouded eeprom and it's alive
If someone need I got tools from here
https://translate.google.com/translate?hl=lv&sl=auto&tl=en&u=http%3A%2F%2Fwww.cisdo.cn%2Fpost%2F43.html

the page is in chaines use google translate
« Last Edit: October 09, 2017, 07:22:09 pm by Chilmars »
 

Offline ShtokyD

  • Newbie
  • Posts: 4
  • Country: ru
Re: Programming off the shelf CSR8635 module
« Reply #98 on: October 11, 2017, 10:10:22 am »
Ok, so I've managed to download some files from 52bluetooth.com chinese website, but some (like csr8670 transmitter/receiver firmware are still unavailable for me to download because I don't have enough points, my account is "intern group"...), so I'm gonna earn "gold coins" and points till I can download this file. But I got CSR867x ADK 4.2 for windows programm to upgrade firmware on CSR8670 and purchased some BTM870-b CSR8670 bluetooth modules to try.... Anyone has any idea how to use csr ADK 4.2 to upgrade firmware? I don't know how to do it...
 

Offline Chilmars

  • Contributor
  • Posts: 10
  • Country: gw
Re: Programming off the shelf CSR8635 module
« Reply #99 on: October 11, 2017, 03:04:41 pm »
Instal in your phone CSR GAIA Control https://translate.google.com/translate?hl=lv&sl=auto&tl=en&u=http%3A%2F%2Fwww.cisdo.cn%2Fpost%2F43.html

It's a app for Android and there Can be upgraded online (CSR8670 / CSRA8675 only)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf