Can't have Bluetooth and some other extensions

What are the rules for adding the Bluetooth extension? I tried to add this with a couple of other extensions already added (one is DS3231, the other is my own I2C extension) - adding Bluetooth resulted in the others being removed. I would have expected that only Radio would be removed.

If it’s a memory issue then wouldn’t using a V2 microbit overcome that?

There are two common causes:

  1. Some extensions explicitly require radio, even if they aren’t using it. The micro:bit can’t do both the radio and bluetooth protocols at the same time…so if radio is required, bluetooth can’t be added. For example, it looks like your bitwise extension depends on radio, but isn’t really using it. See your pxt.json. You may want to try it without the dependency line.
  2. Some things, like Neopixel extensions, explicitly forbid it. This is also done in the pxt.json (example). Neopixels need really precise timing that can’t always be met when bluetooth is in use. Bluetooth also requires precise timing…giving either priority could break the other, especially on the v1 micro:bit.

I hope that helps,
Bill

Many thanks Bill. It will for sure be the pxt.json. I’ve had that before; it must be a default value as I did not write it myself!