/pxt-microbit

A Blocks / JavaScript code editor for the micro:bit built on Microsoft MakeCode

Primary LanguageCSSOtherNOASSERTION

micro:bit target for PXT

Build Status

pxt-microbit is a Microsoft Programming Experience Toolkit (PXT) target that allows you to program a BBC micro:bit.

Issue tracking

Please add an issue if you discover an (unreported) bug.

Developing new extensions

Authoring and testing of new extensions can be done directly from the web editor. See our documentation on how to get started. If you want to run the editor locally, keep reading.

Local server

The local server lets you to run the editor and serve the documentation from your own computer. It is meant for a single developer used and not designed to serve the editor to a large amount of users.

Developer Setup

This is the typical setup used by the MakeCode team to work on the microbit.

  1. Install Node.js 8.9.4 or higher.
  2. Install Docker if you plan to build .cpp files.
  3. Clone the pxt repository.
git clone https://github.com/microsoft/pxt
cd pxt
  1. Install the dependencies of pxt and build it
npm install
npm run build
cd ..
  1. Clone the pxt-common-packages repository
git clone https://github.com/microsoft/pxt-common-packages
cd pxt-common-packages
npm install
cd ..
  1. Clone this repository.
git clone https://github.com/microsoft/pxt-microbit
cd pxt-microbit
  1. Install the PXT command line (add sudo for Mac/Linux shells).
npm install -g pxt
  1. Install the pxt-microbit dependencies.
npm install
  1. Link pxt-microbit back to base pxt repo (add sudo for Mac/Linux shells).
npm link ../pxt
npm link ../pxt-common-packages

Note the above command assumes the folder structure of

       makecode
          |
  ----------------------------------
  |       |                        |
 pxt      pxt-common-packages  pxt-microbit

Running

Run this command from inside pxt-microbit to open a local web server

pxt serve

If the local server opens in the wrong browser, make sure to copy the URL containing the local token. Otherwise, the editor will not be able to load the projects.

If you need to modify the .cpp files (and have installed yotta), enable yotta compilation using the --localbuild flag:

pxt serve --local

If you want to speed up the build, you can use the rebundle option, which skips building and simply refreshes the target information

pxt serve --rebundle

Cleaning

Sometimes, your built folder might be in a bad state, clean it and try again.

pxt clean

Updates

Make sure to pull changes from all repos regularly. More instructions are at https://github.com/Microsoft/pxt#running-a-target-from-localhost

Repos

The pxt-microbit target depends on several other repos. The main ones are:

History

See the MakeCode blog.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.