CCDebugger protocol for Arduino (Flash CC2540, CC2541, etc.)

Hello everybody,

I wanted to share my experience programming the BLE112 module. In particular, I wanted to share with you a library I developed for programming the BLE112 devices, using the CC Debugger protocol from TI for the CCxxx chips. In principle, you can just buy such programmers from TI, but since I had an Arduino-compatible device nearby, I thought it was just unnecessary...

In addition, I have seen many people in bluegiga forums looking for such code, so I thought of sharing the resulting code from my experience with you. You can find the Arduino library, along with the high-level python library here : https://github.com/wavesoft/CCLib

I hope you find it useful!

If this works as expected it can save a lot of money for many people...buying those CCDe'buggers'...

Thanks for sharing...

it seems that the library got a bit popular the past year and people are trying to use it for flashing other CCxxxx chips. I just wanted to let you know that I did some major cleanups and refactoring, introducing chip 'Drivers' and making it simpler to support any CCxxxx chip!

So I am looking forward to hearing from your experience with it!

Hi Guys,

Now there is much faster implementation based on CCLib - it needs only 80 seconds to flash BLE112 module with Arduino UNO: http://magictale.com/2884/flashing-ble112-with-arduino-based-cc-debugger/ :)

Hey magictaler,

the CCLib never took more than a few minutes for a complete write/validate cycle! I am really curious to see what went wrong and the library "took 1.5 hours to flash a chip"!!!

If for 128Kb it takes 90 minutes, it means that it sends 24 bytes per second? Did someone accidentally switch to a serial baud rate of 300 bps? In normal situations, you have at least 115,200 bps baud rate and the library can burst-write 2Kb at a time, resulting in about 1~2 minutes flashing time and about half a minute for validation afterwards.

Of course the library is optimised for agility and not performance, but thats ridiculously slow!