CSR8645 Bluetooth 4.0 AAC APT-X Module / Baseboard

Would guess this is due to the different Bluecore version. The WT32(i) is a BC05-MM module.

So when setting up the CSR8645 to PCM or I2S or any other digital output, clock generation must work (when set as Master), even if the digital audio stream is not connected to the output pin.

From "CSR8645B04 Issue 9" History:

Clarification that I²S is implemented as HCI only.

So you where right, I2S is only working when having USB streaming enabled. Put PCM should work anyway.

This where different in "Issue 6".
 
Last edited:
For PCM you'll have to deal with:

PSKEY_PCM_CLOCK_RATE
PSKEY_PCM_SLOTS_PER_FRAME
PSKEY_PCM_SYNC_RATE
PSKEY_PCM_USE_LOW_JITTER_MODE
PSKEY_PCM_CONFIG32
PSKEY_PCM0_ATTENUATION

Then you maybe need to choose the SCO you want to stream out. Getting the right parameters for PSKEY_PCM_CONFIG32 will need some more research, there's some help here:

http://www.kcwirefree.com/docs/guides/kcTechnicalAudio.pdf

At 10.3.10.

Testing the PCM can be done by a BCCMD like "PCM_Ext_LB", there's a list called "Bluecore BCCMD Commands".
 
hello
i got this xls, tnx.
i have spi programmer from scr.
Another things is, I have only in this psk key format 0xZZZZ, on the xls is 0xZZZZ ZZZZ.
My word is to short.
I thing i have old or different firmware, but i can't find any firmware for this module..
Maybe use ADK and upgrade this module?
Strange is that, mu module no respond do connect uart, usb..
i trued download rom, using bccmd, results - no flash and rom founded..
Any idea?
 
Flashing with "Headset Configuration Tool" directly might brick your module. When it is not responding anymore check current consumption. Bootloop behaviour can easily be seen by jumping current at startup.

I use PSTOOL via LPT SPI.

I believe this has happened to me. I used the csr-spi-ftdi found here: https://github.com/lorf/csr-spi-ftdi

It works for PS-tools, but blueflashcmd doesn't find any flash (I believe my particular model doesn't have flash on board, its a ROM). It also eventually locks up, I get about 3-4 minutes of being able to read (and actually write) keys before it locks. I suspect this is just the dodgy USB-SPI driver.

When I first got the device, it worked, with a small carrier board and two LED's flashing. Upon using the 'Headset Configuration Tool' to change the default volume level (HFP) and writing to device... it never woke up.

The current consumption at start up is ~8mA.. and jumps to 20mA for a few seconds then back down - I believe this is the 'bootloop' you mentioned. So.. perhaps the dodgy USB-SPI setting, along with the headset configuration tool has probably screwed up a few PSkeys.

I would be grateful if someone could provide their CSR8645's keys, either as *.psr files or information regarding how to get out of the boot state. In the meantime I have ordered another module, in the hope to grab the keys off that to bring this on back to life.

Cheers!
 
Hello,

would someone share the physical dimensions of the CSR module to make a pcb footprint ? (can't find the info on the seller's page)

thanks in advance!

There are a few different modules with the same device on board, but this page appears to have the most common one:

EXBT - ElectroDragon

Quite a lot of info there, I double checked the pinouts using PStools and haven't found an error on the page info.
 
I believe this has happened to me. I used the csr-spi-ftdi found here: https://github.com/lorf/csr-spi-ftdi

It works for PS-tools, but blueflashcmd doesn't find any flash (I believe my particular model doesn't have flash on board, its a ROM). It also eventually locks up, I get about 3-4 minutes of being able to read (and actually write) keys before it locks. I suspect this is just the dodgy USB-SPI driver.

When I first got the device, it worked, with a small carrier board and two LED's flashing. Upon using the 'Headset Configuration Tool' to change the default volume level (HFP) and writing to device... it never woke up.

The current consumption at start up is ~8mA.. and jumps to 20mA for a few seconds then back down - I believe this is the 'bootloop' you mentioned. So.. perhaps the dodgy USB-SPI setting, along with the headset configuration tool has probably screwed up a few PSkeys.

I would be grateful if someone could provide their CSR8645's keys, either as *.psr files or information regarding how to get out of the boot state. In the meantime I have ordered another module, in the hope to grab the keys off that to bring this on back to life.

Cheers!

When you using Headset Configuration Tool, you have to do this way:
-make dump from chip to file.
-read device using Headset Configuration Tool
-make changes
-write psk key to file.

Campare keys from dump and Headset Configuration Tool and put new data in changed keys (manual).
Marge psk file to device using PSTool.
Restart device.

Stand alone Headset Configuration Tool has not all keys, so when you try upload this keys to device, you rewrite unused keys to empty...and module not start.
 
Last edited:
Yes, this is the method doctormord suggested, and worked well. Couldn't believe I manage to 'debrick' it.

So yes, as you suggested, use the headset tool just to 'read' the data, but only write back using PStool as this will merge the new settings with the keys already in place - so it doesn't remove them. It's a fairly long winded approach but its not like one has to change the settings all the time.

I must say, I am thoroughly impressed with the sound quality. I dont' have the best setup, but with decent headphones or a bose sound system, a fairly good headphone amp(knocked up on prototype board in 15 minutes..) I AB'd the bluetooth output, and direct, and struggled to hear a difference once the volumes were matched.

Highly recommended for those who wish to add 'decent' bluetooth capability - but beware of certain 'gotcha's' about the modules, like configuration, battery charging, sleep modes etc.. I'll have to put up a 'basic' schematic, although it seems the ones found on chinese websites are in fact quite good.

Thanks to all that have help me :)
 
I will have a poke around on my module, I get the impression it is only enabled when using USB but now I have the backup dump and a replacement module on the way, I think I can afford to fiddle around. There are a few *pdf's floating about on a chinese website (bluetoothspeaker..something..) that *seems* to have detailed explanations of the PSkeys.

Of course, you and the doctor probably have far more experience/knowledge than myself, but I'm willing to experiment :)

I'm sure the folks at bluegiga would know more, as its their custom firmware running on their modules. Mine is just a rom with I2C EEPROM so doesn't have that much scope for changes.