Bluetooth Application

BLE Application Software for the Velo Bling-Bling Project

LED lights for bicycle wheels. 16 multi color LEDs on both sides (PCB top- and bottom side). There are two windows (upper and lower) on both sides for display dynamic information like speed, trip time, trip distance, etc. or static information like strings and images. The windows have a resolution of 100 x 16 pixels. The space between the windows can be filled with a pattern/image (AKA blingbling).

This application software runs on the BL652 Module (BLE slave) and communicates over the UART and I2C interface with the main MCU (MK22DX256VLF5).

BLE Master (e.g. Smart Phone) <-> BLE Slave BL652 UART & I2C <-> main MCU

The BLE Master can use the propriarity vSP Bridge Mode to communicate over the UART with the main MCU like a serial terminal (Command Line Interface CLI). The Cycling Speed and Cadence Service (CSC) is a standard Bluetooth service, data are exchanged between main MCU and BL652 by I2C.

The USB CDC on the main MCU can be used as a terminal interface for the BL652 module. You can use the UwTerminalX for communicating and downloading applications onto Laird's BL652 module.


Peter Schmid, Zurich, Switzerland,

This file is part of "Velo Bling-Bling" BLE application software.

"Velo Bling-Bling" software is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

"Velo Bling-Bling" is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with "Velo Bling-Bling". If not, see



UwTerminalX is a cross-platform utility for communicating and downloading applications onto Laird's range of wireless modules, and uses Qt 5. UwTerminalX has been tested on Windows, Mac, Arch Linux and Ubuntu Linux.

More infos and download, see UwTerminalX.

Bluetooth Low Energy (BLE) Development Kit DVK-BL600 (optional)

The Laird BLE development kit provides a platform for rapid wireless connectivity prototyping, providing multiple options for the development of Bluetooth Low Energy (BLE) applications.

You do not need a DVK-BL600. You can use the Velo Bling-Bling hardware in similar way to develop and download BLE applications, the main controller acts as an USB gateway

Segger J-Link LITE CortexM (optional)

This debug adapter is included in the Bluetooth Low Energy (BLE) Development Kit DVK-BL600. This adapter is only needed for downloading a new BL600 firmware, for downloading the application, you can use UwTerminalX .

Get the Software and Download the Application to the Module

Get the Source from the Repository

The Velo Bling-Bling BL652 application software is on the GitHub repository Download the ZIP-File and unzip it or better clone the repository e.g. for GNU/Linux:
psi@homer:~/veloblingbling/ble> git clone
Klone nach 'veloblingbling-ble' ...
remote: Counting objects: 265, done.
remote: Compressing objects: 100% (97/97), done.
remote: Total 265 (delta 167), reused 260 (delta 166), pack-reused 0
Empfange Objekte: 100% (265/265), 223.50 KiB | 0 bytes/s, Fertig.
Löse Unterschiede auf: 100% (167/167), Fertig.
Prüfe Konnektivität ... Fertig.

Download the Application into the BL652 Module

1. Connect Terminal

Connect the the Velo Bling-Bling USB to the PC with a Micro-USB cable. Start the terminal program (UwTerminalX or UwTerminal). Choose the the communication (serial) port and click the OK button.


Press the '>' key and then the Return key, wait for the CLI> prompt.


and type

CLI> ble reset
CLI> ble trans

Show the firmware version:

ati 3

2. Delete the File System

at&f 1


3. Download and Compile the BLING Application

Press the right mouse button and select XCompile + Load. Choose the file . UwTerminalX-compile.png


4. Download and Compile the LP Application

Press the right mouse button and select XCompile + Load. Choose the file .

5. Check Filesystem

The applications lp and bling have to be listed.


Press Ctrl-D to exit transparent mode. UwTerminalX can not send special characters, workaround: press the right mouse button and select batch. Choose the file exit.txt (this file contains only a Ctrl-D).

Update the BL600/BL652 Firmware

This is only needed if you want to use a new BL600/BL652 firmware (Velo Bling-Bling works with version and newer, is not tested). Firmware update is only possible with a debug adapter (e.g. Segger J-Link LITE CortexM) over the JTAG interface.

1. Connect Terminal

Connect the the Velo Bling-Bling USB to the PC with a Micro-USB cable. Start a terminal program (e.g. UwTerminalX). Hit the Escape-Key, wait for the CLI> prompt and type

CLI> ble reset
CLI> ble trans

Show the firmware version:

10    3

2. Connect Debug Adapter

Connect a debug adapter to the JTAG connector.

3. Save the License Key

With a terminal program (e.g. UwTerminalX):
ATI 49406
10      49406   1696553225C4BC8CE19A
Write down the license key (similar to 1696553225C4BC8CE19A)

4. Download the Firmware

On a Windows-PC start the the firmware batch program
_DownloadFirmware_v1_5_70_0.bat unlicensed

5. Restore the License Key

With a terminal program (e.g. UwTerminalX):
AT+LIC "1696553225C4BC8CE19A"

BL600 Module from LAIRD Systems


  • smartBASIC for application programs
  • AT-Commands over UART
  • A complete BLE 4.0 software stack (single mode)!
  • nRF51822 chipset (ARM Cortex M0)
  • 19 x 12.5 x 3.2 mm
  • About $14 (Mouser, Farnell)

BL652 Module from LAIRD Systems



  • smartBASIC for application programs
  • AT-Commands over UART
  • A complete BLE 4.2 software stack (dual mode, peripheral/central)!
  • nRF52832 chipset (ARM Cortex M4)
  • 14 mm x 10 mm x 2.1 mm
  • About $8 (Mouser, Farnell)

-- Peter Schmid - 2016-03-30


Topic attachments
I Attachment History Action Size Date Who Comment
JPEGjpg BL600_SA.jpg r1 manage 24.3 K 2016-05-23 - 11:43 PeterSchmid  
JPEGjpg BL652-SA_JPG-500.jpg r1 manage 35.5 K 2016-11-06 - 18:18 PeterSchmid  
JPEGjpg BL652-s.jpg r1 manage 124.1 K 2016-11-13 - 09:01 PeterSchmid  
PNGpng UwTerminalX-compile.png r1 manage 282.5 K 2016-11-06 - 17:40 PeterSchmid  
PNGpng UwTerminalX-compile2.png r1 manage 62.8 K 2016-11-06 - 17:40 PeterSchmid  
PNGpng UwTerminalX-config.png r1 manage 99.9 K 2016-11-06 - 17:40 PeterSchmid  
PNGpng UwTerminalX-terminal.png r1 manage 59.9 K 2016-11-06 - 17:40 PeterSchmid  
PNGpng cli.png r2 r1 manage 56.2 K 2016-05-23 - 14:12 PeterSchmid  
PNGpng connect-UwTerminal.png r2 r1 manage 55.2 K 2016-05-23 - 14:19 PeterSchmid  
PNGpng dir.png r1 manage 39.5 K 2016-05-23 - 14:08 PeterSchmid  
PNGpng erase-ffs.png r2 r1 manage 56.9 K 2016-05-23 - 14:16 PeterSchmid  
PNGpng lp-download.png r1 manage 283.4 K 2016-05-23 - 13:17 PeterSchmid  
PNGpng smartBASIC.png r1 manage 28.9 K 2016-03-31 - 09:43 PeterSchmid  
Edit | Attach | Watch | Print version | History: r10 < r9 < r8 < r7 < r6 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r10 - 2016-11-13 - PeterSchmid
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback