You are here

Project #020: UART to BLE Bridge | Cypress Semiconductor

Project #020: UART to BLE 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 BLE 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 BLE to UART bridge, enabling the ease-of-use of the UART protocol, albeit not being a very sophisticated choice of design for BLE applications. However, engineers realize the usefulness of a quick-and-dirty solution for BLE over UART, which is useful for quick prototyping or adding BLE to replace legacy Bluetooth classic designs.

The BLE Pioneer Kit with the PSoC 4 BLE module implements a BLE 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 BLE 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: https://github.com/cypresssemiconductorco/PSoC-4-BLE/tree/master/100_Projects_in_100_Days/Day020_BLE_UART

 

 

Comments

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!

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

jordanss123 jordanss123's picture

fake yeezy boost 350 Thanks for providing such a nice article and now i am searching for clash royale ios cheats to hack clash royale gems and golds so that i play clash royale game freely.

 

sean_2678131's picture

For those having UART connectivity issues make sure the KITPROG has the latest firmware: https://community.cypress.com/docs/DOC-10245 

lincyrose90_2704921's picture

I have gone through this article and got a brief idea regarding this PSoC creator project that implement UART-BLE Bridge using this BLE Pioneer kit. The detailed pdf of instruction really help us to know in detail about this project. Thank you for sharing the link here.new apartments in cochin

sherapova_2972126's picture

Positive site, where did u concoct the data on this posting? I'm satisfied I found it however, sick be returning soon to figure out what extra posts you incorporate. Rutabagas

zacknight_2986731's picture

I might want to say this online journal truly persuaded me to do it! Much appreciated, great post. brian holm lawyer san diego

ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.