Nano 33 IOT uC selection

Looking at the Arduino nano 33 IOT with SAMD21 Cortex®-M0+ plus u-blox NINA-W102 ( esp32 ).
My question is why not use only the NINA W102 (based on esp32)?
Double uC is more expensive and the esp32/Nina W102.

There is a long list of possible reasons and you could find an argument against any of them. Just because a single hardware item is more expensive does not mean the overall solution will be. Here are a few example cases:

  • main product uses a SAMD21 only 5% of products shipped have a NINA-W102 (premium feature)
  • an application has a safety feature, isolating it on a separate controller makes certification easier/cheaper
  • having a separate controller makes it less likely that the user code interferes with the radio stack
  • having two separate controllers can make low power design easier by switching one part completely off
  • maybe the SAMD21 has some additional peripherals that are easier to use, better supported, can do stuff that the ESP32 cannot
  • maybe the SAMD21 will be supported by Arduino for much longer than the NINA-W102 because its general purpose and user might want the next generation of radio next year with a new Bluetooth version ... or something else