{
    "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",
    "bundleddirs": [
        "libs/core",
        "libs/radio",
        "libs/devices",
        "libs/bluetooth"
    ],
    "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]",
        "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"
                }
            }
        ]
    },
    "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"
    },
    "serial": {
        "productFilter": "0x0204",
        "vendorFilter": "0x0d28",
        "nameFilter": "^mbed Serial Port",
        "log": true
    },
    "appTheme": {
        "accentColor": "#5C005C",
        "logoUrl": "https://microbit.org/code/",
        "logo": "./static/logo.portrait.white.svg",
        "docsLogo": "./static/logo.square.white.svg",
        "portraitLogo": "./static/logo.square.white.svg",
        "footerLogo": "./static/logo.portrait.black.svg",
        "cardLogo": "./static/icons/apple-touch-icon.png",
        "appLogo": "./static/icons/apple-touch-icon.png",
        "organization": "Microsoft MakeCode",
        "organizationUrl": "https://makecode.com/",
        "organizationLogo": "./static/Microsoft-logo_rgb_c-gray-square.png",
        "organizationWideLogo": "./static/Microsoft-logo_rgb_c-white.png",
        "homeUrl": "https://makecode.microbit.org/",
        "embedUrl": "https://makecode.microbit.org/",
        "shareUrl": "https://makecode.microbit.org/",
        "privacyUrl": "https://makecode.com/privacy",
        "termsOfUseUrl": "https://makecode.com/termsofuse",
        "githubUrl": "https://github.com/Microsoft/pxt-microbit",
        "legacyDomain": "pxt.microbit.org",
        "galleries": {
            "Projects": "projects",
            "Examples": "examples"
        },
        "projectGallery": "projects",
        "exampleGallery": "examples",
        "crowdinProject": "kindscript",
        "boardName": "micro:bit",
        "driveDisplayName": "MICROBIT",
        "sideDoc": "tutorials/getting-started",
        "feedbackUrl": "https://www.research.net/r/MCmicro",
        "appStoreID": "1092687276",
        "mobileSafariDownloadProtocol": "microbithex://?data",
        "extendEditor": true,
        "docMenu": [
            {
                "name": "Support",
                "path": "https://support.microbit.org/"
            },
            {
                "name": "Getting started",
                "tutorial": true,
                "path": "/tutorials/getting-started"
            },
            {
                "name": "Projects",
                "path": "/projects"
            },
            {
                "name": "Reference",
                "path": "/reference"
            },
            {
                "name": "Blocks",
                "path": "/blocks"
            },
            {
                "name": "JavaScript",
                "path": "/javascript"
            },
            {
                "name": "Hardware",
                "path": "/device"
            },
            {
                "name": "Buy",
                "path": "https://microbit.org/resellers"
            }
        ],
        "hasReferenceDocs": true,
        "usbDocs": "/device/usb",
        "usbHelp": [
            {
                "name": "connection",
                "os": "*",
                "browser": "*",
                "path": "/static/mb/device/usb-generic.jpg"
            },
            {
                "name": "connection",
                "os": "mac",
                "browser": "*",
                "path": "/static/mb/device/usb-mac.jpg"
            },
            {
                "name": "save",
                "os": "windows",
                "browser": "firefox",
                "path": "/static/mb/device/usb-windows-firefox-1.png"
            },
            {
                "name": "save",
                "os": "mac",
                "browser": "firefox",
                "path": "/static/mb/device/usb-osx-firefox-1.jpg"
            },
            {
                "name": "save",
                "os": "mac",
                "browser": "chrome",
                "path": "/static/mb/device/usb-osx-chrome.png"
            },
            {
                "name": "save",
                "os": "windows",
                "browser": "edge",
                "path": "/static/mb/device/usb-windows-edge-1.png"
            },
            {
                "name": "save",
                "os": "windows",
                "browser": "ie",
                "path": "/static/mb/device/usb-windows-ie11-1.png"
            },
            {
                "name": "save",
                "os": "windows",
                "browser": "chrome",
                "path": "/static/mb/device/usb-windows-chrome.png"
            },
            {
                "name": "copy",
                "os": "mac",
                "browser": "*",
                "path": "/static/mb/device/usb-osx-dnd.png"
            },
            {
                "name": "copy",
                "os": "windows",
                "browser": "*",
                "path": "/static/mb/device/usb-windows-sendto.jpg"
            }
        ],
        "invertedMenu": true,
        "coloredToolbox": true,
        "monacoToolbox": true,
        "hasAudio": true,
        "blocklyOptions": {
            "grid": {
                "spacing": 45,
                "length": 7,
                "colour": "rgba(189, 195, 199, 0.30)",
                "snap": false
            }
        },
        "highContrast": true,
        "selectLanguage": true
    }
}