Jump to content

Bluetooth start up sound reprogramming @redfoxdude


Killbot

Recommended Posts

@redfoxdude

 

The forums says I can send 0 messages per day, so sorry to create a public thread about this but it is my only recourse.

I'm trying to reprogram the Bluetooth odule using a CSR programmer I bought on AliExpress for $15. I'm using https://www.instructables.com/id/CSR-Bluetooth-Module-Programming/ but they label an SPI_EN pin and then never mention it. They also talk about a 10k pull up resistor but never tell you how to tell which chips need it and what to connect it to. Another site indicates it might be connected between the SPI_EN and the 3.3v that comes off the programmer.

But seeing as you've already done this I figured you would probably just be able to answer the question directly. Also did you have to remove the CSR chip from the board it is mounted to? I simply soldered onto the bottom of the board's connector pins. I can see the LED's light up and it shows up on Bluetooth, but the softwear says it can't detect the chip properly (but this might be because the SPI_EN pin is unconnected or lack up pull up resistor, I don't know since I can't find any information on them).

Can you please let me know if you had to remove the board or if you connected to it while it was still connected. What the SPI_EN pin should be connected up. And if a 10k pull up resistor is needed and if so where it should be connected?

I'm hoping if you can tell me that I can get the solution to work like you did. Then a write up can be done that shows how a novice can get rid of that terrible start up sound for about $15.

  • Like 1
Link to comment
Share on other sites

@photorph @Killbot

Hello! Yes, existing guides around are pretty vague. I'm happy to do a more detailed write up with screenshots and stuff later when I have some time off from work, but hopefully I can get you up and running... As you have mentioned, you will need the CSR USB-SPI programmer, which can be had for pretty cheap from Aliexpress and the like. (Or you can be ridiculous like me, and use an FTDI adapter and build a level shifter circuit and install custom drivers... Patience and the CSR programmer is probably worth it, bahahaha)

From the datasheet, the "SPI_EN" pin is SPI_PCM#, and by pulling it high, the SPI interface is selected. So it should be pulled high to 1.8V. You can use the 10k resistor for this, connecting the 10k between the "SPI_EN" and the 1.8V pin on the programmer. (Something like a 1K would be fine, as well...)

But I will caution you to not connect any of the pins to 3.3V (other than the VCC pin, labeled 3.3V in this guide)! The chip's IO are on 1.8V logic with an in-chip regulator, and you risk damaging the chip by connecting 3.3V to the IO. Otherwise, the pin labeling in the guide you linked can be used to hookup the rest of the necessary pins from the programmer.

I did not remove the chip from the KRC-86B module, but I did remove the module from the amplifier board in the wheel, as I didn't want to risk back-powering any of the amplifier board's circuits from my programmer. The KRC-86B is held into the wheel with silicone, so carefully removing that, the module can be removed. I made a connector that plugs into the male header on the bottom of the module, but soldering onto the tops of the pins would work, too. Especially if all you want to do is remove the startup tone and change the device name, and you don't intend to be testing things and reprogramming the module a bunch like me.

On the software side, use PSTools to dump the original config (PSKeys) for safe keeping (File->Dump). Then in the ROM Config Tool, I read in the PSKeys with the button the left, "Open From Device." The settings should read in and populate into the interface. On the "Features" tab, which is the main tab opened to begin with, you can change the device's name. Then go over to the "Audio Tones" tab, and remove the startup tone. (I'll write more on making a custom tone later for those interested). Don't write the PSKeys to the device from the ROM Config Tool, however. I couldn't get that to work, but I've also heard of devices becoming bricked. Instead, use the button on the left, "Write PSR," to save a copy of the PSKeys to a file. Then, in PSTools, use (File->Merge) to push the new configuration onto the device. And that should do it. Plug the module back into the wheel, and enjoy a quiet startup and maybe even a custom device name! (I assume PSTools dumping and merging should work fine. I used the command line tool for this, which is another option...)

Edited by redfoxdude
Grammar
  • Like 1
Link to comment
Share on other sites

@redfoxdude

Awesome. Thanks for the reply.

Yeah I already got the car programmer, took about 2 weeks to deliver but Amazon has them faster but more expensive.

Is the board soldered to the amplifier board? It looks like it is to me, I don't really want to have to desolder that. I think I'm going to risk it and see if I can program it while still connected to the amp board.

I just need to get a 10k resistor and connect it to SPI_EN and the 1.8v line on the programmer right? Hopefully my resistor will get delivered tomorrow and I'll be able to report back this weekend. If not hopefully I'll have a progress report next week.

  • Like 1
Link to comment
Share on other sites

@Killbot

Absolutely! No, on both my Nikola+ and Monster, the bluetooth module has a male header strip, and it is just plugged into a female socket on the amplifier board. On my Monster, it actually had come a bit loose from the socket (someone forgot the silicone gloop...) and wasn't powering on. Oh well, I was going to open it up, anyway 🤷‍♂️

Yes, I believe that should do it. I've only done this with my repurposed FTDI adapter, but I presume it should be similar (and more reliable) with the CSR programmer. Do let us know how it works out!

Link to comment
Share on other sites

I voting working by attaching the 10k resistor between the SPI_EN and the 3.3 volt on the programmer. Device is detected by the BlueCore application.

Can you tell me what setting needs to be changed for the start up tone? There are a lot to go through and none that have a name I would guess.

Also it's a damn shame about the pins on it. I got to it by soldering to the bottom of the pins on the amp board. But I pulled the Bluetooth module off and the pin outs would be great but they're just a little too small to fit in the ends of the break out wire provided by the programmer and spaced a little too closely to plug into the breadboard I have. If there are some cheap wires people could use to connect the programmer to the pins directly than this could almost be done without soldering, except for the pull up resistor.

  • Like 1
Link to comment
Share on other sites

N/M I see I just needed to get a different set of software to change the tones. My chip is reconfigured. But I think I screwed up when plugging the amp back in and now the audio board doesn't seem to power up.

 

Programming the board was super easy though, and it's interesting that you can pop the blue tooth board off without even soldering. I wonder if gotway owners would be interested in buying chips preconfigured not to make stupid noises. The chips themselves are pretty cheap.

 

Guess I'm going to order a new amp board. I've been riding without audio all this time anyway so it's not going to kill me to wait a little longer.

@redfoxdude if you get some time would you mind snapping a picture of your Nikola's amp with wires plugged in, that way I have a reference for when I get the new one in.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...