Command Line Tool

PXT comes with a command line tool called, surprise, surprise, pxt. To use it, you need to first install node.js. Then, you can install pxt with npm (you may need to use sudo on Linux or macOS):

npm install -g pxt

If you are building pxt-microbit on Windows, make sure the following are installed:

  1. Yotta (follow manual install for Windows)
  2. SRecord 1.64 and move it to C:\
  3. Visual Studio and/or the C++ toolchains

Also, make sure you add these to your Path:


Setting up a workspace

For every PXT target (editor) you will need to create a directory for your projects. Let’s say you want to install microbit target, and name the directory microbit:

mkdir microbit
cd microbit
pxt target microbit
pxt serve

The last command will open the editor in your default browser.

The pxt target microbit is conceptually the same as npm install pxt-microbit plus some housekeeping, like setting up pxtcli.json file to point to the target.

In future, you just need to run pxt serve. You can also run npm update to upgrade the target and PXT.

Using the CLI

If you have created a PXT project from the web browser, you can go to its folder (it will sit under projects) and use the CLI to build and deploy it.

  • start with pxt install, which will install all required PXT packages
  • use pxt deploy (or just pxt) to build and deploy the package to the device

You can edit the package using VSCode and publish it on GitHub.

While it is true that you can use any editor for editing TypeScript code, you might consider using VSCode as you are learning the language, as it provides syntax highlighting, linting, and other support that could save you time in debugging your extensions.

Creating a new project

Open a shell to your microbit folder.

# create a new subfolder for your project
cd projects
mkdir blink
cd blink
# start the project set
pxt init
# open VSCode
code .

Opening an existing project

You can extract a project from the embedded URL or .hex file. Open a shell to your projects folder

# extract the project from the URL
pxt extract EMBEDURL

where EMBEDURL is the published project URL.


Run pxt help for the list of all commands. The following list of links contains more info on specific commands.

  • target, downloads the editor tools
  • build, builds the current project
  • deploy, builds and deploys the current project
  • console, monitors console.log output
  • bump, increment the version number
  • checkdocs, validates the documentation links and snippets
  • staticpkg, compiles editor into flat file system
  • install, copy extensions to pxt_modules/

Debugging Commands

  • gdb, attempt to start OpenOCD and GDB
  • hidserial, monitor console.log(...) from certain boards
  • hiddmesg, fetch DMESG buffer over HID and print it

Advanced Commands

  • serve, run local server
  • pyconv, convert MicroPython code into Static TypeScript.
  • update, updates the pxt-core dependency and runs installation steps
  • buildsprites, encode sprite images into a jres resource
  • login, store a GitHub token