{
  "id": "microbit",
  "nickname": "microbit",
  "name": "makecode.microbit.org",
  "title": "Microsoft MakeCode for micro:bit",
  "description": "A Blocks / JavaScript code editor for the micro:bit powered by Microsoft MakeCode.",
  "corepkg": "core",
  "cloud": {
    "workspace": false,
    "packages": true,
    "sharing": true,
    "publishing": true,
    "preferredPackages": [
      "Microsoft/pxt-neopixel"
    ],
    "githubPackages": true
  },
  "compile": {
    "isNative": false,
    "hasHex": true,
    "deployDrives": "(MICROBIT|MBED)",
    "driveName": "MICROBIT",
    "hexMimeType": "application/x-microbit-hex",
    "openocdScript": "source [find interface/cmsis-dap.cfg]; source [find target/nrf51.cfg]",
    "flashUsableEnd": 245760,
    "flashEnd": 245760,
    "flashCodeAlign": 1024,
    "upgrades": [
      {
        "type": "package",
        "map": {
          "microbit": "core",
          "microbit-bluetooth": "bluetooth",
          "microbit-radio": "radio",
          "microbit-devices": "devices",
          "microbit-led": "",
          "microbit-music": "",
          "microbit-game": "",
          "microbit-pins": "",
          "microbit-serial": ""
        }
      },
      {
        "type": "missingPackage",
        "map": {
          "radio\\s*\\.": "radio",
          "bluetooth\\s*\\.": "bluetooth",
          "devices\\s*\\.": "devices"
        }
      },
      {
        "type": "api",
        "map": {
          "bluetooth\\s*\\.uartRead\\s*\\((.*?)\\)": "bluetooth.uartReadUntil($1)",
          "bluetooth\\s*\\.uartWrite\\s*\\((.*?)\\)": "bluetooth.uartWriteUntil($1)",
          "input\\s*\\.calibrate\\s*\\(": "input.calibrateCompass("
        }
      },
      {
        "type": "blockId",
        "map": {
          "device_get_acceleration": "device_acceleration"
        }
      },
      {
        "type": "blockValue",
        "map": {
          "device_print_message.message": "text"
        }
      }
    ],
    "hidSelectors": [
      {
        "usagePage": "0xFF00",
        "usageId": "0x0001",
        "vid": "0x0d28",
        "pid": "0x0204"
      }
    ],
    "jsRefCounting": true
  },
  "runtime": {
    "mathBlocks": true,
    "loopsBlocks": true,
    "logicBlocks": true,
    "variablesBlocks": true,
    "textBlocks": true,
    "listsBlocks": true,
    "functionBlocks": true,
    "onStartColor": "#0078D7",
    "onStartNamespace": "basic",
    "onStartWeight": 54
  },
  "simulator": {
    "autoRun": true,
    "enableTrace": true,
    "streams": false,
    "aspectRatio": 1.22,
    "parts": true,
    "partsAspectRatio": 0.69,
    "boardDefinition": {
      "visual": "microbit",
      "gpioPinBlocks": [
        [
          "P0"
        ],
        [
          "P1"
        ],
        [
          "P2"
        ],
        [
          "P3"
        ],
        [
          "P4",
          "P5",
          "P6",
          "P7"
        ],
        [
          "P8",
          "P9",
          "P10",
          "P11",
          "P12"
        ],
        [
          "P16"
        ]
      ],
      "gpioPinMap": {
        "P0": "P0",
        "P1": "P1",
        "P2": "P2",
        "P3": "P3",
        "P4": "P4",
        "P5": "P5",
        "P6": "P6",
        "P7": "P7",
        "P8": "P8",
        "P9": "P9",
        "P10": "P10",
        "P11": "P11",
        "P12": "P12",
        "P13": "P13",
        "P14": "P14",
        "P15": "P15",
        "P16": "P16",
        "P19": "P19",
        "P20": "P20"
      },
      "spiPins": {
        "MOSI": "P15",
        "MISO": "P14",
        "SCK": "P13"
      },
      "i2cPins": {
        "SDA": "P20",
        "SCL": "P19"
      },
      "analogInPins": [
        "P0",
        "P1",
        "P2",
        "P3",
        "P10"
      ],
      "groundPins": [
        "GND"
      ],
      "threeVoltPins": [
        "+3v3"
      ],
      "attachPowerOnRight": true,
      "onboardComponents": [
        "accelerometer",
        "buttonpair",
        "ledmatrix",
        "speaker",
        "bluetooth",
        "thermometer",
        "compass"
      ],
      "useCrocClips": true,
      "marginWhenBreadboarding": [
        0,
        0,
        80,
        0
      ]
    }
  },
  "compileService": {
    "yottaTarget": "bbc-microbit-classic-gcc",
    "yottaCorePackage": "microbit",
    "githubCorePackage": "lancaster-university/microbit",
    "gittag": "v2.0.0-rc11",
    "serviceId": "microbit",
    "yottaBinary": "pxt-microbit-app-combined.hex"
  },
  "serial": {
    "nameFilter": "^(mbed Serial Port|DAPLink CMSIS-DAP)",
    "log": true,
    "useEditor": true,
    "editorTheme": {
      "graphBackground": "#d9d9d9",
      "lineColors": [
        "#6633cc",
        "#3891A6",
        "#3454D1",
        "#EF767A",
        "#F46197",
        "#107C10"
      ]
    },
    "chromeExtension": "hjcflblhjoglmjjkecamiegdigfkgeni",
    "vendorId": "0x0d28",
    "productId": "0x0204",
    "rawHID": true
  },
  "blocksprj": {
    "id": "blocksprj",
    "config": {
      "name": "{0} block",
      "dependencies": {
        "core": "*",
        "radio": "*"
      },
      "description": "",
      "files": [
        "main.blocks",
        "main.ts",
        "README.md"
      ]
    },
    "files": {
      "main.blocks": "<xml xmlns=\"http://www.w3.org/1999/xhtml\">\n  <block type=\"pxt-on-start\"></block>\n  <block type=\"device_forever\"></block>\n</xml>",
      "main.ts": "\n",
      "README.md": ""
    }
  },
  "tsprj": {
    "id": "tsprj",
    "config": {
      "name": "{0} bit",
      "dependencies": {
        "core": "*",
        "radio": "*"
      },
      "description": "",
      "files": [
        "main.ts",
        "README.md"
      ]
    },
    "files": {
      "main.ts": "basic.showLeds(`\n    . . . . .\n    . # . # .\n    . . . . .\n    # . . . #\n    . # # # .\n    `);",
      "README.md": ""
    }
  },
  "versions": {
    "target": "0.1.11",
    "pxt": "0.17.14",
    "pxtCrowdinBranch": "v0"
  }
}