All Projects → microsoft → Pxt Microbit

microsoft / Pxt Microbit

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

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Pxt Microbit

Thimble.mozilla.org
UPDATE: This project is no longer maintained. Please check out Glitch.com instead.
Stars: ✭ 1,414 (+182.24%)
Mutual labels:  education, code
Blockly At Rduino
[email protected] : Blockly remix for Arduino. Totally new version, enhanced one !
Stars: ✭ 96 (-80.84%)
Mutual labels:  blockly, education
Graphviz.it
Graphviz fiddling website
Stars: ✭ 109 (-78.24%)
Mutual labels:  education, editor
Mu
A small, simple editor for beginner Python programmers. Written in Python and Qt5.
Stars: ✭ 960 (+91.62%)
Mutual labels:  education, editor
rovercode-web
Block-based programming for educational robots
Stars: ✭ 13 (-97.41%)
Mutual labels:  education, blockly
Learn Vim
Vim 实操教程(Learning Vim)Vim practical tutorial.
Stars: ✭ 1,166 (+132.73%)
Mutual labels:  education, editor
Code Dot Org
The code powering code.org and studio.code.org
Stars: ✭ 631 (+25.95%)
Mutual labels:  blockly, code
Popcode
An HTML/CSS/JavaScript editor for use in the classroom
Stars: ✭ 169 (-66.27%)
Mutual labels:  education, editor
awesome-course
Create awesome courses that let your audience learn by coding ⌨️
Stars: ✭ 224 (-55.29%)
Mutual labels:  education, code
Pxt
Microsoft MakeCode (PXT - Programming eXperience Toolkit)
Stars: ✭ 1,649 (+229.14%)
Mutual labels:  blockly, editor
Learn Vim
Learning Vim and Vimscript doesn't have to be hard. This is the guide that you're looking for.
Stars: ✭ 7,221 (+1341.32%)
Mutual labels:  education, editor
Kobra
Kobra is a visual programming language (like Scratch) for Machine Learning (currently under active development).
Stars: ✭ 223 (-55.49%)
Mutual labels:  education, blockly
Pervane
Plain text file based note taking and knowledge base building tool, markdown editor, simple browser IDE.
Stars: ✭ 159 (-68.26%)
Mutual labels:  editor, code
Markor
Text editor - Notes & ToDo (for Android) - Markdown, todo.txt, plaintext, math, ..
Stars: ✭ 1,394 (+178.24%)
Mutual labels:  education, editor
Code Notes
A simple code snippet & gist manager for developers built with Electron & Vue.js 🚀
Stars: ✭ 919 (+83.43%)
Mutual labels:  editor, code
Orchestra
One language to be RegExp's Successor. Visually readable and rich, technically safe and extended, naturally scalable, advanced, and optimized
Stars: ✭ 103 (-79.44%)
Mutual labels:  blockly, editor
rapid-router
A Blockly and python based educational game aimed at students age 5-14.
Stars: ✭ 50 (-90.02%)
Mutual labels:  education, blockly
Glorious Demo
The easiest way to demonstrate your code in action.
Stars: ✭ 3,290 (+556.69%)
Mutual labels:  editor, code
React Simplemde Editor
React wrapper for simplemde markdown editor
Stars: ✭ 463 (-7.58%)
Mutual labels:  editor
30 Seconds Of Swift Code
A Swift implementation of 30-seconds-of-code: A curated collection of useful Swift 4 snippets that you can understand in 30 seconds or less.
Stars: ✭ 476 (-4.99%)
Mutual labels:  education

micro:bit target for PXT

Build Status pxt-testghpkgs

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 setup

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.

  1. Install Node.js 8.9.4 or higher.
  2. 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

Go to the Running section.

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). This step is only required if you intend to make changes to pxt and/or pxt-common-packages repos. If all you want is serve a local Makecode, you can skip this step.
pxt link ../pxt
pxt 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

Building with CODAL locally

The following commands force a local build using CODAL.

pxt buildtarget --local

To disable docker, run

export PXT_NODOCKER=1

If you are also modifiying CODAL, consider running pxt clean to ensure the proper branch is picked up.

Modifying DAL/CODAL locally

  • follow instructions above until pxt serve
  • open editor on localhost and create a project
  • do export PXT_FORCE_LOCAL=1 PXT_RUNTIME_DEV=1 PXT_ASMDEBUG=1; you can add PXT_NODOCKER=1; pxt help has help on these
  • find project folder under pxt-microbit/projects, typically pxt-microbit/projects/Untitled-42
  • if you're going to modify .cpp files in PXT, replace "core": "*" in pxt.json with "core": "file:../../libs/core"; similarly "radio": "file:../../libs/radio"
  • you can edit main.ts to change the PXT side of the program; you can also edit it from the localhost editor; note that Download in the localhost editor will produce different binary than command line, as it builds in the cloud and uses tagged version of CODAL
  • in that folder run pxt build - this will clone codal somewhere under built/ (depends on build engine and docker)
  • similarly, you can run pxt deploy (or just pxt which is the same) - it will build and copy to MICROBIT drive
  • assuming the build folder is under built/codal, go to built/codal/libraries and run code *
  • in git tab, checkout appropriate branches (they are all in detached head state to the way we tag releases)
  • modify files, run pxt, see effects
  • you can also run pxt gdb to debug; this requires openocd
  • other commands using openocd are pxt dmesg which dumps DMESG(...) buffer and pxt heap which can be used to visualize PXT heap (and CODAL's one to some extent)

Updating dal.d.ts

cd libs/blocksprj
rm -rf built
PXT_FORCE_LOCAL=1 PXT_COMPILE_SWITCHES=csv---mbcodal pxt build
PXT_FORCE_LOCAL=1 PXT_COMPILE_SWITCHES=csv---mbcodal pxt builddaldts
mv dal.d.ts ../core

Updates

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

Update playlists in markdown

Get a Google API key and store it in the GOOGLE_API_KEY environment variables (turn on data from the app).

pxt downloadplaylists

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 [email protected] with any additional questions or comments.

Trademarks

MICROSOFT, the Microsoft Logo, and MAKECODE are registered trademarks of Microsoft Corporation. They can only be used for the purposes described in and in accordance with Microsoft’s Trademark and Brand guidelines published at https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general.aspx. If the use is not covered in Microsoft’s published guidelines or you are not sure, please consult your legal counsel or MakeCode team ([email protected]).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].