CYBLE 012011-00 Interface to a Microchip PIC

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi, I may be going a little senile, but I want to simply connect the CYBLE 012011-00 device to a Microchip PIC via the Rx and Tx lines to use the device as a simple serial link. I have done this on an HC05 module and I only need 4 lines to connect (GND, +5v, Rx, Tx). I am trying to figure out which of the 31 pins on the CYBLE 012011-00 to use. The power pins are simple, but there appear a number of Rx and Tx lines. I guess the CYBLE 012011-00 has two UARTS (SCB0 and SCB1) and there are two RX lines and two Tx lines for each of these. I do not know which ones to use in CYSPP mode. Similarly, I cannot find which pins are the CYSPP and CP_ROLE pins as these need asserting low. Can anyone help please? Thank you, Chris

0 Likes
1 Solution
Anonymous
Not applicable

Hi Chris,

   

As Bob suggested, the User Guide contains the pin information that you need. See Section 8.1 for a table of each functional pin on all supported modules (note this is the *B guide revision, soon to be updated online to *C with a few extra modules). A couple of quick points/answers for your case:

   
        
  • The UART RX/TX pins are the same on every module running EZ-Serial firmware: P1.4 (RX) and P1.5 (TX). This allows easy host communication with the built-in USB-to-UART bridge interface provided by the BLE Pioneer kit.
  •     
  • On the 012011-00 and 2120XX-X0 footprint:     
            
    • CYSPP is P3.3
    •       
    • CP_ROLE is P3.5
    •      
  •    
   

If you're using the CYBLE-012011-EVAL part, note that P3_5 on the module can be mapped to either or both of P3.5 and P2.7 using jumpers on the evaluation module PCB. To be able to use the SW2 button on the BLE Pioneer kit to select the role at boot time, you should ensure that it is connected to P2.7. (If you're using a custom design with your own PCB, this is not really relevant.)

View solution in original post

0 Likes
18 Replies
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

A  CYBLE 012011-00 is not like an HC05 BlueTooth board. You must Program it to enable the UART Ble function.  It uses a Ble 4.2 API for interface. .There is a new library to allow you to interface it with Your microChip PIC.  Check this out http://www.cypress.com/documentation/software-and-drivers/ez-serial-ez-ble-module-firmware-platform

0 Likes
lock attach
Attachments are accessible only for community members.
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

Here is the user guide.

0 Likes
Anonymous
Not applicable

Hi Chris,

   

As Bob suggested, the User Guide contains the pin information that you need. See Section 8.1 for a table of each functional pin on all supported modules (note this is the *B guide revision, soon to be updated online to *C with a few extra modules). A couple of quick points/answers for your case:

   
        
  • The UART RX/TX pins are the same on every module running EZ-Serial firmware: P1.4 (RX) and P1.5 (TX). This allows easy host communication with the built-in USB-to-UART bridge interface provided by the BLE Pioneer kit.
  •     
  • On the 012011-00 and 2120XX-X0 footprint:     
            
    • CYSPP is P3.3
    •       
    • CP_ROLE is P3.5
    •      
  •    
   

If you're using the CYBLE-012011-EVAL part, note that P3_5 on the module can be mapped to either or both of P3.5 and P2.7 using jumpers on the evaluation module PCB. To be able to use the SW2 button on the BLE Pioneer kit to select the role at boot time, you should ensure that it is connected to P2.7. (If you're using a custom design with your own PCB, this is not really relevant.)

0 Likes
Anonymous
Not applicable

Hi Bob and jrow, thank you for this helpful information. I was rather hoping for an easy life and just use the device as a UART, but it looks as if I need to do some work. My original design choice was the Microchip RN42 which although not low energy, does appear to meet my needs. I do not need low energy as the device will be mains powered and does not always need to be on. I will have a think about this,

0 Likes
Anonymous
Not applicable

Hi Chris,

   

If you connect CYSPP to GND and CP_ROLE to VDD, that should give you about the closest thing to classic Bluetooth SPP as anything you'll find. The BLE spec doesn't have an official profile like SPP (largely because the low-energy protocol isn't optimized for streaming serial data as a use case). There will always need to be some additional work on the client side to interface with the CYSPP GATT structure, but it is relatively simple compared to some BLE profile client implementations.

Anonymous
Not applicable

Dear jrow,

   

Thank you for this information. However, it is all rather sad as it appears that the Cypress BLE devices cannot be used as a simple BLE UART without being programmed. This causes my manufacturer a problem as they will need to go (presumably) to Cypress to program the devices in the manufacturing quantities required (generally in batches of a few thousand). The advantage of the Cypress devices over other BLE devices is that they operate at 5v - the rest of the circuit uses 5v. I am looking for a device that can be used out-of-the-box as a component part. I am not interested in using the BLE microcontroller as the board it is to go on already has a microcontroller, and not all the manufactured boards will require a Bluetooth device.

   

Do Cypress have any 5v BLE devices that have a serial interface that can be used without needing to program the device?

   

Best wishes

   

Chris

0 Likes
Anonymous
Not applicable

Hi Chris,

   

The CYBLE module line-up is currently being switched to use EZ-Serial firmware by default from the Cypress factory. This hasn't been fully implemented yet, but it will be soon. Once this occurs, modules will ship with this firmware and will not require an initial reflash before using it (though you will still be able to use the typical PSoC Creator development process and reflash custom projects).

Anonymous
Not applicable

Hi,jrow 

   

Recently I was learning CY8CKIT-042-BLE debugging,The Bluetooth module is cyble 212006-01,However, there is no official website on the cypress program development package,So I would like to ask if you have this program development kit,Or you can tell me to download the CYBLE 212006-01 program development package site,Thank you very much

   

0 Likes
Anonymous
Not applicable

Hello,

   

The correct development toolchain to download for this board and evaluation module is the latest PSoC Creator IDE, which you can find here:

   

http://www.cypress.com/go/psoccreator

   

As of the time of this post, the latest version is 4.0 Update 1. You will be able to create custom projects of any kind with this application. You can also use PSoC Programmer as a standalone programming tool for pre-compiled .hex files:

   

http://www.cypress.com/go/psocprogrammer

   

This might be simpler for certain uses (e.g. returning to the pre-compiled EZ-Serial firmware image after doing some custom development with your own projects).

0 Likes
Anonymous
Not applicable

Dear jrow,

   

thank you for this information. This is really good news and I will watch out for the new modules as they will be just what I need for the new design.

   

Best wishes Chris

0 Likes
Anonymous
Not applicable

Hey jrow, 

   

 

   

Sorry to reuse this thread but I beleieve my question is somewhat related. 

   

I recently purchased a CYBLE-222014-EVAL EZ-BLE which promises out-of-the box EZ-Serial support given using the pioneer kit. I've tried to follow the steps listed in EZ-Serial BLE Firmware User Guide (http://www.cypress.com/file/323251/download) and was expecting the module to be start advertising as a peripheral as soon as it was plugged in. However, I dont see any radio activity and not quite sure if the EZ-Serial works.

   

 

   

I was of course able to use PSoc Creator to program the module but just like chris.hudson, I'm also interested in using it out-of-the-box via EZ-Serial. Is this truly supported and do I need to reprogram the module since it's now programmed via PSoc Creator?

   

 

   

Thanks

0 Likes
Anonymous
Not applicable

No problem; this is definitely a related question. Most likely, the evaluation module that you bought didn't have EZ-Serial firmware pre-loaded at the factory; that only started with modules manufactured beginning the first work week of 2017, and previously stocked CYBLE EVAL modules at various distributors probably aren't included in that. New bare modules that you purchase today should have the firmware preloaded, according to the PCN.

   

If you've reflashed some other firmware on it using Creator, then it doesn't have any EZ-Serial functionality regardless of what it originally had, so that's the most relevant point now.

   

In any case, you can download the EZ-Serial firmware in precompiled .hex form for the CYBLE-222014-01 module from the EZ-Serial page, then use PSoC Programmer to flash that onto the eval module. At that point, you can follow the instructions in the guide and use the module as if it had come from the factory with EZ-Serial on it.

0 Likes
Anonymous
Not applicable

Dear jrow,

   

it is good that there are units now being shipped ready to use the serial comms straight from the box. Do these have a specific part number so that I can order them directly (I am in the UK)?

   

Best wishes

   

Chris

0 Likes
Anonymous
Not applicable

Hi Chris,

   

There is no new part number; the hardware is identical and the firmware switch was formally announced via Product Change Notice (PCN) towards the end of last quarter. By this point, distributors should have new stock on-hand for mass-production modules. If you are not time-constrained, you can order a small quantity of the desired modules from your local distributor first to make sure that they do in fact have EZ-Serial firmware on them.

0 Likes
Anonymous
Not applicable

I just bought a CYBLE-212019-EVAL 01 (1610-1-01G 9)  module from Digikey, since I read about EZ-serial somewhere.  However, after hooking it up to my micro/PC terminal (using a USB serial adapter), I get nothing at all...in fact my Android phone does not even see the module, let alone move any data.  The PC terminal never shows anything (though I really wasn't expecting it to until I connected at the phone & ran a bluetooth terminal) 

   

I was surprised to find the EZ-Serial manual is about 240 pages!!

   

VDD to 3.3V

   

GND to gnd & VDD/VDDR jumper installed

   

header 1.4 UART_RX to my UART_TX

   

header 1.5 UART_TX to my UART_RX

   

header 3.5 CP_ROLE tied to to 3.3V  (also jumper installed & verified pin5 of actual radio is tied in  )

   

header 3.4 ATEN_SHDN tied to 3.3V (also tried floating)

   

header 3.3CYSPP tied to gnd

   

tried also wiring  FACTORY_TR high, then apply power....still nothing 

   

do these connections seem correct? These have been carefully checked  (these match the wiring exactly), but again I see nothing (not even a pairing)  on the phone or PC

0 Likes
Anonymous
Not applicable

Hello nnovotney,

   

The apparently non-communicative state in your case could be caused by tying CYSPP to GND, which forces/enables the CYSPP data pipe in hardware and bypasses the "command mode" that supports command/response/event communication through the API. Point #6 in the "UART Communication Issues" troubleshooting guide in Section 6.1 in the User Guide notes this, and other possible causes.

   

When powered, a module with factory default EZ-Serial firmware will be visible on a device that is capable of BLE scanning and running an app that is designed to do this (e.g. CySmart or LightBlue on iOS devices, or CySmart or nRF Connect on Android devices). Note that generic not-yet-paired BLE devices will not always appear in the regular Bluetooth Device list provided on some platforms.

   

On Android, most "Bluetooth Terminal" apps are designed around the classic Bluetooth Serial Port Profile (SPP), and these are not compatible with BLE devices regardless of the firmware on them.

0 Likes
Anonymous
Not applicable

I am beginning to wonder if my eval board has the EZ-serial software.  Is there a definitive way to hook it up & tell (especially if it does NOT have said software)?  I don't have the programmer, just the eval board & access to usb serial converters.  I suppose that is not enough to program it.--hate to spend $80 on a programmer.

   

Also, shouldn't the BLE module appear in my phone's Bluetooth pairing menu, regardless of what app I hope to run (terminal or otherwise)?  Right now the phone scans & show nothing (except other BLE devices).

0 Likes
Anonymous
Not applicable

It is possible that the module was manufactured prior to the factory firmware switchover (which occurred in the first workweek of 2017). Since you have an Android phone, you can try scanning the 2D code on the module's shield to determine the date of manufacture. It can be difficult to get a lock in some cases, but if the focus and lighting are correct, it usually works. The value will be something like these two samples:

   

2120190001160610C60
01201100011602103A4​

   

The value of interest is the section emphasized above, which is a YYWW date code. If the value is less than 1701, then the module will not have EZ-Serial on it.

   

Empirically, if an unmodified module has a correct power supply connected (typically 3-5V) to the VDD* pins and GND, and no other pins connected, then it should automatically boot into an advertising state. If you power the module but are unable to see it, while at the same time you are able to see other advertising BLE devices, then it is a reasonable assumption that the module does not have EZ-Serial firmware on it.

   

One other option for reprogramming, if you do not want to spend $80 on the MiniProg3: you can get the CY8CKIT-042-BLE-A "BLE Pioneer" kit for $49, which includes an onboard KitProg programmer that is capable of reflashing a target EVAL module in the exact same way as the MiniProg3--albeit at a lower maximum speed compared to the MiniProg3. Or, you can even opt for the $10 CY8CKIT-059 which has a built-in but removable KitProg implementation as well. Using this would require connecting the five relevant SWD pins (VDD, GND, XRES, SWDIO, SWDCLK) using jumper wires or your own header, but it is probably the cheapest way to get a fully functional SWD re-flashing mechanism at your disposal.

0 Likes