You are here

프로젝트 #020: UART to Bluetooth Low Energy Bridge | Cypress Semiconductor

프로젝트 #020: UART to Bluetooth Low Energy Bridge

In today's project, we demonstrate a custom Profile to implement a UART-BLE bridge using the BLE Pioneer Kit.

When Bluetooth (classic) was released, it featured a Profile called SPP (Serial Port Profile) that allowed for easy cord-cutter designs that wanted to replace typical USB products with Bluetooth classic interfaces instead. With Bluetooth Low Energy (BLE), no such standard Profile for serial ports is provided by the Bluetooth SIG. This is primarily due to the fact that Bluetooth Low Energy was not designed for high data-rate applications, and instead focuses on low-power sensor node applications. BLE's GATT Adopted Profiles are more application-centric, with Profiles for Heart Rate Monitors, Phone Notifcations, etc.

In this project, we implement a custom Profile to create a Bluetooth Low Energy to UART bridge, enabling the ease-of-use of the UART protocol, albeit not being a very sophisticated choice of design for Bluetooth Low Energy applications. However, engineers realize the usefulness of a quick-and-dirty solution for Bluetooth Low Energy over UART, which is useful for quick prototyping or adding Bluetooth Low Energy to replace legacy Bluetooth classic designs.

The Bluetooth Low Energy Pioneer Kit with the PSoC 4 BLE module implements a Bluetooth Low Energy GAP Central device running a custom Profile and a custom UART Service. This Profile contains two custom Characteristics - one called Receive Characteristic and another called Transmit Characteristic. The Transmit Characteristic supports Notifications

For the other end of the Bluetooth Low Energy communication, we will re-program the CySmart USB Dongle with a project implementing a GAP Peripheral. This project also implements the same custom Profile, Services and Characteristics.

Each device can be interfaced over UART using a serial terminal utility like TeraTerm or Putty to transmit/receive a byte or an entire data file.

You can download this PSoC Creator project along with a detailed PDF of instructions, here from GitHub:


USB_UART_Central Image


USB_UART_Peripheral USBcreen Image


fernnando28's picture

I wonder what would have to change in the code-BLE UART to measure with ADC and send the data right through UART-BLE

david.stamper_1542706's picture

have you been able to figure that out fernnando?

maurizio.brignoli_1571561's picture

I test it with PSoC creator 3.3.
It is not clear from documentation somethings... how to proceed .

1) Use PRoC module and not PSoC to program the UART_to_BLE_Central project.

2) Use PSoC for USART_to_BLE_peripheral

3) change the chip target into project UART_to_BLE_central

4) use hex file generate from PSoC Creator to program the BLE dongle

Finally after few adjustment it works!!

I have a 11,68 Kbytes/s during transfert file.

Unfortunatly this is a best condition between two module, and not real test with smartphone IoS or Android.


tasos bablas's picture

Hi Maurizio, could you plz share the "few adjustments" that you mentioned. I can't make BLE dongle (as a central) print anything in terraterm using your instructions in this app note. Thank you!

khan123_3074801's picture

Some genuinely interesting information, well written and broadly user pleasant.

mdenzin_1673916's picture

I have a CY8CKIT-042-BLE  Pioneer kit and am trying to get the UART example project #020 working.  

It does not work when using the files provided from GitHub.  Is there some kind of update or some other way to get this example working?  The blue LED on the Pioneer kit flashes blue which is supposed to indicate a connection between it and the dongle, but no data can be sent through the terminal programs I have opened.

ryan.konen_2538026's picture

same issue here

sean_2678131's picture

For those having UART connectivity issues make sure the KITPROG has the latest firmware: 

rk7658155_3317051's picture

Fabulous site you have here. You'll find me taking a gander at your stuff regularly. Spared! One-pieces

khan123_3074801's picture

Pleasant to be going to your online journal yet again, it has been months for me. Well this article ive been sat tight for thusly long. i need this article to complete my task inside of the staff, and it has same subject together with your article. Much appreciated, pleasant offer. 

valentine week 2018

ronijames11_3081306's picture

As far as me being a member here, I wasn’t aware that I was a member for any days, actually. When the article was published I received a notification, so that I could participate in the discussion of the post,  That would explain me stumbuling upon this post. But we’re certainly all members in the world of ideas.

numéro voyance

nehasharma7057_3210786's picture

This is an incredible motivating article. I am basically satisfied with your great work. You put truly extremely supportive article.

Delhi Call Girls

angelina_3306851's picture

Much thanks to you such a great amount for sharing this awesome blog.Very moving and accommodating too.Hope you keep on sharing a greater amount of your ideas.I will love to peruse. tivoli

본 사이트의 모든 컨텐츠와 자료는 "있는 그대로" 제공됩니다. CYPRESS SEMICONDUCTOR와 해당 공급자는 그 목적에 관계 없이 이러한 자료의 적합성에 대한 표현을 하지 않으며 상업성, 특정 목적에의 적합성, 권리 및 제3자 지적 재산권의 비침해에 대한 모든 묵시적 보증과 조건을 포함하여(이에 제한되지 않음) 이러한 자료와 관련한 모든 보증과 조건을 부인합니다. CYPRESS SEMICONDUCTOR에서는 명시적 또는 묵시적으로 금반언이나 여타의 다른 방법으로 라이센스를 부여하지 않습니다. 이 사이트의 정보를 사용하려면 제3자의 라이센스 또는 CYPRESS SEMICONDUCTOR에서 제공하는 라이센스가 필요할 수 있습니다.

이 사이트의 컨텐츠에는 특정 사용 지침이나 제한이 포함되거나 그러한 제한이 적용될 수 있습니다. 모든 게시물과 이 사이트 컨텐츠 사용에는 사이트 약관이 적용됩니다. 이 컨텐츠를 사용하는 제3자는 제한 또는 지침을 따르고 이 사이트의 약관을 준수할 것이라는 데 동의합니다. Cypress Semiconductor와 그 공급자는 컨텐츠와 자료, 그 제품, 프로그램 및 서비스를 언제든 수정, 삭제, 개조, 개선, 향상 및 기타 변경하거나 예고 없이 컨텐츠, 제품, 프로그램 또는 서비스를 이동 또는 중단할 수 있는 권리를 보유합니다.