Author Topic: BLE chips, Silicon labs BG vs Nordic NRF52xxx vs NXP KW41z vs TI CC2640 vs esp32  (Read 5136 times)

0 Members and 1 Guest are viewing this topic.

Offline jeremyTopic starter

  • Super Contributor
  • ***
  • Posts: 1079
  • Country: au
Hi all,

There are a number of vendors on the market selling BLE 4.2 compatible chipsets. I’m currently looking at picking one to take on a few projects, but I’m struggling a bit with the choices. I’ve used the Psoc4 series before, but I don’t want to continue with them, mostly because they are windows only.

My preference is for one that has FreeRTOS support. Not that a simple BLE device really needs an RTOS, but just because I’m expecting some larger projects in the future.

Here are the chips I’m looking at and some notes. For those who have some experience with one of these chips, could you please let me know which one you chose and why? Also, would be good to find out if it was a good decision or not ;) I’ll try to update this post with any extra info when I come across it over the next few days.

silicon labs blue gecko:
- various configurations of mem/flash available
- supports uCOS (they bought them, so unlikely to see offical FreeRTOS support)
- SiP integrated modules available from vendor (BGM121/BGM123)
- lots of documentation
- simplicity studio IDE (free) has GATT editor built in
- OTA updating supported, with external flash or internal (although all dev boards use a 1MB external flash)

Nrf52832:
- seems to be the most common part along with NRF51822
- segger IDE available for free (though license must be generated and is node locked to an Ethernet MAC)
- I have heard of issues in the past where the Nordic BLE stack preempts all user code and interrupts, messing up interrupt timing
- some FreeRTOS support? (There is one example)
- OTA supported on internal flash

FW41z:
- MCUXpresso IDE for free
- FreeRTOS support out of box in stack and IDE

CC2640:
- radio has separate CPU!
- code composer studio as free IDE
- TIRTOS

ESP32:
- second CPU can be used for radio
- FreeRTOS support out of the box
- no IDE for debugging? (Unsure, I do recall reading something about gdb over serial though)
- honestly, I’ve only ever used ESP chips for WiFi related stuff.
 

Offline janekm

  • Supporter
  • ****
  • Posts: 515
  • Country: gb
I can speak to the Nordic chips as I have been using them across many projects basically since they first came out.

I use the FreeRTOS port on several projects, it works well but has had issues with higher power consumption than the standard SDK (I haven't verified with the latest version so it may have improved).

The issue of your code getting interrupted by the BLE stack is much improved since the early days (early versions of the stack would interrupt your code for long periods of time, now it's only going to interrupt your code very briefly (max Interrupt latency introduced by the stack is now around 240us with SD132). It's rarely an issue since the peripherals have a fairly powerful system of events/tasks if you need to time something accurately. Of course this is going to be the case for any BLE stack unless you have two CPU cores, or a separate radio state machine, due to the tight timing requirements of BLE!

As you noted it's a very popular chip which has advantages in that the stack is well tested, there's a lot of support for it in many ecosystems (there are open source BLE stacks for example) like mbed, micro:bit stack etc. It also means that the chips always have good availability through the supply chain, and at very low cost (having a lot of memory/flash options sounds great until you find that the one you specced is always out of stock!) .

Personally I prefer to use Makefiles with an editor of my choice (currently Visual Studio Code) over a closed IDE, and this is now well supported by the SDK.

There are many modules available, I sometimes use the modules from Xuntong as they are not too expensive.

For ESP32, watch out the low power mode for BLE hasn't been released yet (and it is never going to be as low power as a dedicated BLE chip).

 

Offline janekm

  • Supporter
  • ****
  • Posts: 515
  • Country: gb
If you already have a Keil or IAR license or if you can get the job done within evaluation license period (or if you don't mind using cracked software), consider CC2540/CC2541. They should be the cheapest self contained BLE SoC. They are also massively used in super cheap applications like BLE beacons and cheap consumer connected devices. Bugs, software and hardware, should be ironed out over the years.

In my experience NRF51822 is generally slightly cheaper than those chips, if cost is an overriding issue (both in Chinese distribution and on Mouser). The TI chips seem to be popular in very simple serial converter module and iBeacon modules as you mentioned, while slightly more complex applications (like activity trackers) usually have the NRF51.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf