This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Company Identifier Code needed?

Other Parts Discussed in Thread: CC2540, CC2541

Hi everyone,

I am developing a product using the CC2540 and I was wondering if I need to buy some kind of Company Identifier Code before releasing my product?

Or what about Vendor ID and Product ID, are they still used in BLE?

Best regards,

Jerome

  • Hi,

    To sell a BLE-based product, you need to be a member of the Bluetooth SIG, and you have to certify and list your product, just like for regular Bluetooth.

    Best regards,

    Karl

  • Thanks,

    So no need for a an ID like the one declared for TI in the stack : TI_COMPANY_ID 0x000D.

    We are a member of the Bluetooth SIG, so I just checked this morning how to qualify and list my product.

    I have another question, do you know if I can sell a product that only use the "simple profile" given in the TI BLE stack or do I absolutely have to implement one of those defined Profile?

    Best regards,

    Jerome

  • Hi Jerome,

    OK, now I understand exactly what you're getting at.

    For the Bluetooth address, you are free to use the IEEE address that is programmed into our device (using the TI company ID) if you prefer (that's why it's there; we buy IEEE address blocks and program them into CC254x during our production process). If you want to use your own address, then you can override it, but then you need to buy your own IEEE address blocks and program this into the CC254x in your own production process.

    There is no requirement to limit yourself to adopted profiles; you are free to use the "simple profile" or create your own custom profile.

    Best regards,

    Karl

  • I think maybe you are refering to the company assigned numbers found in https://www.bluetooth.org/Technical/AssignedNumbers/identifiers.htm (login required). According to this page, "This table gives a unique numeric identifier for each Bluetooth SIG member company that requests one". This is only used for some special purposes, so you probably shouldn't need one of those. If you believe that you do, I suggest you try contacting the Bluetooth SIG.

  • What about if I don't put a BLE or bluetooth logo on the product and don't sell it as a bluetooth device, would I still need SIG certification? Our application is proprietary and we sell the user the HW and tell them it works with an Iphone 4s and give them an app. The user does not care how it works...

  • As long as you are using the BLE stack (and not running CC2541 in proprietary mode), you need to qualify your design with the SIG. As part of the Bluetooth membership agreement, you are granted free use of essential Bluetooth IP, but then you need to conform to the rules set out by the SIG. More details here: https://www.bluetooth.org/Building/Product/QualifyProduct.htm. Note that since we have qualified the CC254x and the BLE stack, the amount of testing needed is reduced.

    Best regards,

    Karl

  • I don't follow how the TI COMPANY ID or the 48-bit IEEE address fixes the problem.  In my target product scenario, there are many peripheral devices, which periodically connect to any one of a small number of master devices. I want both ends to ignore devices not made by my company, so surely this can only be achieved using a unique company ID (obtained from the SIG?)

  • Graham,


    Sounds like you are trying to do something different from what the original poster asked about. He wanted to know if he could avoid having a company ID, and yes, you can use TI's.

    Of course, if you have a reason to use your own company ID, then you can do that too. In your scenario, you could either use the company ID for filtering, or you could use the UUIDs of the exposed services in your custom profile, if that works better.

    Best regards,

    Karl

  • Hi Karl

    You're right this is slightly tangential to the initial posting, but I'm trying to understand if having a company ID will get us the functionality we need. 

    We're developing a product which uses BLE to implement a wireless link, but the end-product is not intended to be interoperable with devices from other manufacturers (we're only really interested in piggy-backing on the underlying wireless performance, and the established low power features).

    We want to implement a system with one master and many battery-powered peripheral devices. Most of the time the peripherals provide data by simply embedding a few bytes into each advertising packet: this allows one master to collect data from a large number of peripherals, with close to zero power consumption on the peripherals.  This obviously isn’t conventional BLE use as we’re not connecting to a BLE service to access the data.

    In order to further conserve battery power on the peripheral, we want to minimise any interaction with other BLE master devices, and my understanding is the white list gives us a way (is this what you meant by ‘use the company ID for filtering’) to achieve this - because unwanted connection requests can be ignored, and that minimises power.  

    What we don’t want is a situation where our device is in a public location, and every time we send out an advertising packet someone’s iPhone picks it up, initiates a connection (which wastes our battery), only to find out we don’t have any interesting services on offer.

     -  does the white list refer to a list of specific individual devices, or can we match against a generic ‘class’ of master devices (any master with our manufacturer ID) - This post says the number of whitelisted devices is limited to 8 http://e2e.ti.com/support/low_power_rf/f/538/t/132861.aspx

    - can we change the whitelist filtering policy ‘on the fly’ or is it set once on initialisation

    - If white listing using the company ID is the way to go, where can I find more implementation detail (or preferably sample code). I’ve found some simple overviews describing the principle of a white list, but can’t find any clear examples of how the white list should be implemented on the CC2540 stack. 

  • Hi Graham,

    Thanks for explaining in detail what you are trying to do. I think the whitelist is a list of specific BR addresses, but I'm not sure. Hopefully someone with more detail knowledge than me can jump in here.

    Best regards,

    Karl