diff --git a/docs/cli.md b/docs/cli.md
deleted file mode 100644
index d27d7810..00000000
--- a/docs/cli.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# Command Line Interface
-
-```sim
-basic.forever(() => {
- basic.showString("CLI<3")
-})
-```
-
-It is possible to use the tools from a command line interface (CLI). The PXT CLI allows to
-* edit, compile or deploy JavaScript programs
-* can easily be integrated in most IDEs. It comes with built-in support for [Visual Studio Code](/code)!
-* run a local web server for the web editor
-* author packages using JavaScript and/or C++
-
-Using the CLI assumes that you have some experience with programming and will require to install tools on your machine as well.
-
-* **[LET'S GET STARTED](https://pxt.io/cli)**
diff --git a/docs/code.md b/docs/code.md
deleted file mode 100644
index 73a27430..00000000
--- a/docs/code.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Visual Studio Code
-
-[Visual Studio Code](https://code.visualstudio.com) is a Free Open Source code editor that you can use to edit your programs.
-
-Working from Visual Studio code allows you to benefit from all the features
-of a professional IDE while working with PXT: working with files,
-git integration (or source control of your choice), hundreds of extensions.
-
-* background compilation
-* auto-completion
-* pxt command line integration
-
-**Follow [these instructions](https://pxt.io/cli)** to setup your machine and edit your programs in Visual Studio Code.
-
-![](/static/mb/vscode.png)
-
diff --git a/docs/device.md b/docs/device.md
deleted file mode 100644
index 550f73be..00000000
--- a/docs/device.md
+++ /dev/null
@@ -1,93 +0,0 @@
-# Device
-
-All the bits and pieces that make up the BBC micro:bit
-
-![](/static/mb/device-0.png)
-
-### LED Screen and Status LED
-
-The red lights are [LEDs](/device/screen) (light emitting diodes) and form a 5 x 5 LED Screen.
-They can be set to on/off and the brightness can be controlled.
-
-The yellow light on the back of the micro:bit is the status LED.
-It flashes yellow when the system wants to tell the user that something has happened.
-
-### Buttons
-
-Buttons A and B are a form of input. When you press a button, it completes an electrical circuit.
-The micro:bit can detect either of its two buttons being pressed/released and be programmed
-to act on these events.
-
-Button R on the back of the micro:bit is a system button. It has different uses.
-When you have downloaded and run your code onto your micro:bit, press Button R to restart and run your program from the beginning.
-
-### USB connection
-
-When you plug in your micro:bit, it should appear as ``MICROBIT``.
-If you accidentally hold down the reset button as you’re plugging in your micro:bit,
-the micro:bit will appear as a MAINTENANCE drive instead of ``MICROBIT``. This is known as maintenance mode.**
-
-To continue programming your micro:bit YOU MUST unplug your USB and reconnect it. Check that the drive now shows as ``MICROBIT``.
-
-**Use with caution. If you click on the drive while it shows as ``MAINTENANCE``,
-you can see which version of firmware you have running on your micro:bit.
-Firmware on your micro:bit should be up-to-date already.
-You can find the version of firmware in the 'version.txt' file on the micro:bit. Further information on the firmware can be found here:
-
-https://developer.mbed.org/platforms/Microbit/#firmware
-
-### Compass
-
-The compass can detect magnetic fields such as the Earth’s magnetic field.
-As the micro:bit has this compass, it is possible to detect the direction it is moving in.
-The micro:bit can detect where it is facing and movement in degrees.
-This data can be used by the micro:bit in a program or be sent to another device.
-
-### Accelerometer
-
-There is an accelerometer on your micro:bit which detects changes in the micro:bit’s speed.
-It converts analogue information into digital form that can be used in micro:bit programs.
-Output is in milli-g. The device will also detect a small number of standard actions e.g. shake, tilt and free-fall.
-
-### Pins
-
-The pins can be a form of input or output.
-There are labels for the input/output pins P0, P1, P2, which you can attach external sensors to such as thermometers or moisture detectors.
-You can read more about large and small pins [here](/device/pins).
-
-### Light level
-
-The screen can also be used a light level sensor (it's a really cool trick).
-
-### How do I connect the micro:bit to my computer?
-
-Your micro:bit can be connected to your computer via a micro USB cable.
-Data can be sent and received between the micro:bit and the computer so programs
-can be downloaded from Windows, Macs and Chromebooks onto the micro:bit via this USB data connection.
-You can read more information on how to run scripts on your micro:bit [here](/device/usb),
-and about the error messages you might get [here](/device/error-codes).
-
-### Powering your micro:bit
-
-When your micro:bit is connected to your computer with the micro USB, it doesn’t need another power source.
-When your micro:bit isn’t connected to your computer, tablet or mobile, you will need 2 x AAA 1.5 V batteries to power it.
-
-The pins labelled 3V and GND are the power supply pins.
-You can attach an external device such as a motor to these and power it using the battery or USB.
-
-### Serial Communication
-
-The micro:bit can send an receive data via [serial communication](/device/serial). The serial data can be transfered via USB or BLE.
-
-### Bluetooth Low Energy (BLE) Antenna
-
-You will see the label BLE ANTENNA on the back of your micro:bit. It is for a messaging service,
-so that devices can talk to each other. The micro:bit is a peripheral
-device which can talk to a central device like a smart phone or tablet that has Bluetooth Low Energy (BLE).
-The micro:bit can send signals and receive signals from a central device so another BLE device can
-control the micro:bit or the micro:bit can control another BLE device.
-
-### Technical Information
-
-The micro:bit has been designed to be a bare-board micro controller for use by children aged 11-12.
-More information is available at the [BBC web site](http://www.microbit.co.uk/device).
diff --git a/docs/device/contents.md b/docs/device/contents.md
deleted file mode 100644
index 26e5b35e..00000000
--- a/docs/device/contents.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# micro:bit - the device
-
-The micro:bit is a very capable device with many components:
-
-* [the USB connector](/device/usb)
-* [the LED screen](/device/screen)
-* [the buttons]
-* [the accelerometer]
-* [the compass]
-* [the pins](/device/pins)
-* [the battery plug]
-
-The micro:bit embodies many fundamental concepts in computer science. To learn more, read:
-
-* [the micro:bit - a reactive system](/device/reactive)
-
-Sometimes, your micro:bit may display an error code. For more information, see:
-
-* [the error codes](/device/error-codes)
diff --git a/docs/device/crocodile-clips.md b/docs/device/crocodile-clips.md
deleted file mode 100644
index 04070a35..00000000
--- a/docs/device/crocodile-clips.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# crocodile clips
-
-The large holes at the bottom of the board are designed to attach alligator/crocodile clips
-to create electrical circuit with other components.
-
-# ~hint
-
-**No crocodile clips!?!?!** Use wires or Aluminium foil! [Read more...](/device/foil-circuits)
-
-# ~
-
-
-## Connecting Crocodile Clips
-
-The hole for ``P0`` and ``GND`` allow to grab the board on the side which makes for a great grip.
-
-![](/static/mb/device/croc-clips/crocclipsclamped.jpg)
-
-Pass one jaw in the hole and grab the side of the board with the other jaw.
-
-![](/static/mb/device/croc-clips/sideclamp.jpg)
-
-For the center holes, ``P1`` and ``P2``, you can also grab the bottom of the board but they are a bit harder to grip.
-
-You can also grip the board between the jaws. In which case, you will want to make sure to avoid overlapping the jaws
-with the other pins as it will create short-circuit in the board.
-
-![](/static/mb/device/croc-clips/badclamp.jpg)
-
-Adding a little tape helps keeping the crocodile clips in place.
-
-![](/static/mb/device/croc-clips/frontclamp.jpg)
-
-## Example: on pin pressed with random numbers
-
-This example displays a random number every time the crocodile clip holds `GND` then connects and disconnects the `P0` pin.
-Each time the crocodile clip is firmly connected and disconnected from pin `P0`, the micro:bit will return a random Number between 0 and the parameter limit.
-
-```blocks
-input.onPinPressed(TouchPin.P0, () => {
- basic.showNumber(Math.random(10))
-})
-```
-
-## See also
-
-[micro:bit pins](/device/pins)
diff --git a/docs/device/error-codes.md b/docs/device/error-codes.md
deleted file mode 100644
index 0de6c4fe..00000000
--- a/docs/device/error-codes.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Error codes
-
-Your micro:bit may encounter a situation that prevents it from running your code. When this happens, a frowny face will appear on your micro:bit screen (see picture) followed by an error number.
-
-Below is a list of error numbers and what they mean:
-
-* **10** (`MICROBIT_I2C_LOCKUP`): the micro:bit's I2C bus is not working
-* **20** (`MICROBIT_OOM`): there is no free memory on the micro:bit
-
-```sim
-basic.showLeds(`
- # . . . #
- # # . # #
- . . . . .
- . # # # .
- # . . . #
- `)
-```
-
-### See also
-
-[Run scripts on your micro:bit](/device/usb)
-
diff --git a/docs/device/foil-circuits.md b/docs/device/foil-circuits.md
deleted file mode 100644
index 609c1ce9..00000000
--- a/docs/device/foil-circuits.md
+++ /dev/null
@@ -1,52 +0,0 @@
-# foil circuits
-
-The large holes at the bottom of the board are designed to attach alligator/crocodile clips
-to create electrical circuit with other components.
-
-If you do not have crocodile clips at hand, dyou can use wires or even Aluminium foil to acheive the same result.
-We will show you how to connect the micro:bit to headphones using Alumunium foil and tape.
-
-https://youtu.be/mhXYyPuvpz0
-
-### Materials
-
-* micro:bit and battery pack (you can also power it via USB)
-* a small piece of cardboard
-* Aluminium foil
-* tape
-
-### Assembly instructions
-
-Tape the micro:bit and battery pack to the card board. Make sure to remove the batteries while you are building your circuit.
-
-![](/static/mb/device/croc-clips/microbitattached.jpg)
-
-Cut the thinest strip of foil possible and roll it into a cable. You can also try to fold, whatever works for you.
-Build two of those wires.
-
-![](/static/mb/device/croc-clips/foilcut.jpg)
-
-Place the foil wire on the ``GND`` pin and attach with a piece of tape. Press hard to get the best connection between
-the foil and the pin board. Make sure the foil is not overlapping with the other pins!
-
-![](/static/mb/device/croc-clips/groundconnected.jpg)
-
-Place the second wire on the ``P0`` pin the same way. Make sure the wire does not overlap with the other pins!
-
-![](/static/mb/device/croc-clips/microbitconnect.jpg)
-
-Tape the headphone jack connector to the cardboard and roll the wire coming from ``GND`` around the metal base.
-Make sure the wire does not touch the other metal rings on the jack.
-
-![](/static/mb/device/croc-clips/jackground.jpg)
-
-Tape the second wire on the head of the jack connector.
-
-![](/static/mb/device/croc-clips/jackconnect.jpg)
-
-![](/static/mb/device/croc-clips/foilcircuit.jpg)
-
-
-## See also
-
-[micro:bit pins](/device/pins)
diff --git a/docs/device/pins.md b/docs/device/pins.md
deleted file mode 100644
index e95bb5fd..00000000
--- a/docs/device/pins.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# micro:bit pins
-
-The micro:bit pins
-
-![](/static/mb/device/pins-0.png)
-
-The micro:bit has 25 external connections on the edge connector of the board, which we refer to as ‘pins’. The edge connector is the grey area on the right side of the figure above.
-
-There are five large pins, that are also connected to holes in the board labelled: 0, 1, 2, 3V, and GND. And along the same edge, there are 20 small pins that you can use when plugging the micro:bit into an edge connector.
-
-### Large pins
-
-You can easily attach crocodile clips or 4mm banana plugs to the five large pins.
-
-The first three, labelled 0, 1 and 2 are flexible and can be used for many different things - which means they are often called ‘general purpose input and output’ (shortened to GPIO). These three pins also have the ability to read analogue voltages using something called an analogue-to-digital converter (ADC). They all have the same function:
-
-* **0**: GPIO (general purpose digital input and output) with analogue to digital convertor (ADC).
-* **1**: GPIO with ADC
-* **2**: GPIO with ADC
-
-The other two large pins (3V and GND) are very different!/td/td
-
-### ~hint
-
-Watch out! The pins labelled 3V and GND relate to the power supply of the board, and they should NEVER be connected together.
-
-### ~
-
-*power input*: If the micro:bit is powered by USB or a battery, then you can use the 3V pin as a *power output* to power peripherals with.
-
-* **3V**: *3 volt power output* or *power input*. (1) *power output*: If the micro:bit is powered by USB or a battery, then you can use the 3V pin as a power output to power peripherals with; (2) *power input*: If the micro:bit is not being powered by USB or battery, you can use the 3V pin as a power input to power the micro:bit
-* **GND**: attaches to ground in order to complete a circuit (required when using the 3V pin)
-
-If you hold the ‘GND’ pin with one hand, you can program the microbit to detect yourself touching the 0,1 or 2 pins with your other hand, giving you three more buttons to experiment with (you just used your body to complete an electrical circuit).
-
-### Small pins
-
-There are 20 small pins numbered sequentially from 3-22 (these pins are not labeled on the micro:bit, however, they are labelled in the picture above).
-
-Unlike the three large pins that are dedicated to being used for external connections, some of the small pins are shared with other components on the micro:bit board. For example, pin 3 is shared with some of the LEDs on the screen of the micro:bit, so if you are using the screen to scroll messages, you can’t use this pin as well.
-
-* **pin 3**: GPIO shared with LED Col 1 of the LED screen; can be used for ADC and digital I/O when the LED screen is turned off.
-* **pin 4**: GPIO shared with LED Col 2 of the LED screen; can be used for ADC and digital I/O when the LED screen is turned off.
-* **pin 5**: GPIO shared with Button A. This lets you trigger or detect a button "A" click externally. This pin has a pull-up resistor, which means that by default it is at voltage of 3V. To replace button A on the micro:bit with an external button, connect one end of the external button to pin 4 and the other end to GND. When the button is pressed, the voltage on pin 4 is pulled down to 0, which generates a button click event.
-* **pin 6**: GPIO shared with LED Col 9 of the LED screen; can be used for digital I/O when the LED screen is turned off.
-* **pin 7**: GPIO shared with LED Col 8 of the LED screen; can be used for digital I/O when the LED screen is turned off.
-* **pin 8**: Dedicated GPIO, for sending and sensing digital signals.
-* **pin 9**: GPIO shared with LED Col 7 of the LED screen; can be used for digital I/O when the LED screen is turned off.
-* **pin 10**: GPIO shared with LED Col 3 of the LED screen; can be used for ADC and digital I/O when the LED screen is turned off.
-* **pin 11**: GPIO shared with Button B. This lets you trigger or detect a button “B” click externally.
-* **pin 12**: this GPIO pin has been reserved to provide support for accessibility.
-* **pin 13**: GPIO that is conventionally used for the serial clock (SCK) signal of the 3-wire Serial Peripheral Interface (SPI) bus.
-* **pin 14**: GPIO that is conventionally used for the Master In Slave Out (MISO) signal of the SPI bus.
-* **pin 15**: GPIO that is conventionally used for the Master Out Slave In (MOSI) signal of the SPI bus.
-* **pin 16**: Dedicated GPIO (conventionally also used for SPI ‘Chip Select’ function).
-* **pins 17 and 18**: these pins are wired to the 3V supply, like the large ‘3V’ pad.
-* **pins 19 and 20**: implement the clock signal (SCL) and data line (SDA) of the I2C bus communication protocol. With I2C, several devices can be connected on the same bus and send/read messages to and from the CPU. Internally, the accelerometer and the compass are connected to i2c.
-* **pins 21 and 22**: these pins are wired to the GND pin and serve no other function
-
-### Connecting to the small pins
-
-It is recommended that an edge connector be acquired to connect to the small pins. More information on compatible edge connectors will be available later.
-
diff --git a/docs/device/reactive.md b/docs/device/reactive.md
deleted file mode 100644
index d92a6e5c..00000000
--- a/docs/device/reactive.md
+++ /dev/null
@@ -1,158 +0,0 @@
-# The micro:bit - a reactive system
-
-### Computing systems
-
-What sort of a *computing system* is the micro:bit?
-
-### ~hint
-
-There are different types of computing systems, to address different kinds of problems that arise in practice: *transaction processing systems* are used by banks to handle huge numbers of financial transactions by their customers; *distributed systems* make a set of networked computers appear as one big computer (like Google’s search engine); there are also *parallel systems*, such as graphic cards, which perform a huge number of primitive operations simultaneously, using a great number of small processing cores.
-
-### ~
-
-The micro:bit is a *reactive system* – it reacts continuously to external events, such as a person pressing the A button of the micro:bit or shaking the device. The reaction to an event may be to perform a computation, update variables, and change the display. After the device reacts to an event, it is ready to react to the next one. If this sounds like a computer game, that’s because most computer games are reactive systems too!
-
-### Responsiveness
-
-We want reactive systems to be responsive, which means to react in a timely manner to events. For example, when you play a computer game, it’s frustrating if you press a button to make a character jump, but it doesn’t immediately jump. A delay in reacting, or lack of responsiveness , can be the difference between life and death, both in the real and virtual worlds.
-
-Let’s consider a simple example: you want to program your micro:bit to accurately count the number of times the A button has been pressed and continuously display the current count on the 5x5 [LED screen](/device/screen). Because the LED screen is small, we can only display one digit of a number at a time on it. The [show number](/reference/basic/show-number) function will scroll the digits of a number across the screen so you can read it.
-
-Let’s say that the current count is 42 and the number 42 is scrolling across the LED screen. This means there is some code executing to perform the scroll. So, what should happen if you press the A button during the scroll? It would be a bad idea to ignore the button press, so some code should record the occurrence of the button press. But we just said there already is code running in order to scroll the number 42! If we wait until the code scrolling the 42 has finished to look for a button press, we will miss the button press. We want to avoid this sort of unresponsiveness.
-
-### Concurrency
-
-To be responsive, a reactive system needs to be able to do several things at the same time (concurrently), just like you can. But the micro:bit only has one CPU for executing your program, which means it can only execute one program instruction at a time. On the other hand, it can execute millions of instructions in a single second. This points the way to a solution.
-
-Think about how a motion picture projector works - it projects only 24 frames per second, yet this is good enough to provide the illusion of fluid motion on the screen. The micro:bit can execute millions of instructions per second, so it seems quite possible for the device to both to smoothly scroll the number 42 across the LED screen while looking for button presses and counting them.
-
-Let’s think about three sequences of instructions:
-
-* Sequence S1 contains the instructions (let’s say several hundred thousand or so) that scroll the number 42 across the LED screen;
-* Sequence S2 contains a few instructions to check if button A is pressed;
-* Sequence S3 contains a few instructions to increment a counter.
-
-In order to be responsive, we would like to *interrupt* the execution of sequence S1 *periodically* to execute the sequence S2, which will check if button A is pressed, which looks like:
-
-TODO Diagram
-
-The result is that it takes sequence S1 a little longer to complete, due to the interruptions to execute sequence S2, but we are checking often enough to detect a press of button A . When S2 detects a press of button A, then the sequence S3 can be executed before S1 resumes:
-
-TODO Diagram
-
-As we’ll soon see, there are other choices for how the sequences can be ordered to achieve the desired result.
-
-### The micro:bit scheduler and queuing up subprograms
-
-The micro:bit’s *scheduler* provides the capability to concurrently execute different code sequences, relieving us of a lot of low-level programming. In fact, scheduling is so useful that it is a part of every *operating system*!
-
-The first job of the scheduler is to allow multiple *subprograms* to be queued up for later execution . For our purposes, a subprogram is just a statement or sequence of statements in the context of a larger program. Consider the Touch Develop program below for counting button presses.
-
-```blocks
-let count = 0
-input.onButtonPressed(Button.A, () => {
- count++;
-})
-basic.forever(() => {
- basic.showNumber(count, 150)
-})
-```
-
-The program above contains three statements that execute in order from top to bottom.
-The first statement initializes the global variable `count` to zero.
-
-```blocks
-let count = 0
-```
-
-The second statement informs the scheduler that on each and every event of the A button being pressed, a subprogram (called the event handler) should be queued for execution. The event handler is demarcated by the do/end keywords; it increments the global variable `count` by one.
-
-```blocks
-let count = 0
-// ...
-input.onButtonPressed(Button.A, () => {
- count++;
-})
-```
-
-The third statement queues a `forever` loop for later execution by the scheduler; the body of this loop (between the do/end keywords) displays the current value of global variable `count` on the LED screen. The third statement
-
-```blocks
-let count = 0
-// ...
-basic.forever(() => {
- basic.showNumber(count, 150)
-})
-```
-
-
-The function ends after the execution of these three statements, but this is not the end of program execution! That’s because the function queued the `forever` loop for execution by the scheduler.
-
-The second job of the scheduler is to periodically interrupt execution to read (poll) the various inputs to the micro:bit (the buttons, pins, etc.) and fire off events (such as “button A pressed”). Recall that the firing of an event causes the event handler subprogram associated with that event to be queued for later execution. The scheduler uses a timer built into the micro:bit hardware to interrupt execution every 6 milliseconds and poll the inputs, which is more than fast enough to catch the quickest press of a button.
-
-### Cooperative passing of control
-
-How does the forever loop get to start execution? Furthermore, once the forever loop is running, how does any other subprogram (like the event handler that increments the count) ever get a chance to execute?
-
-The answer is “cooperation” and “passing”. Think of a football team doing a drill – there is one ball and each footballer gets to dribble the ball for a certain number of touches, after which they pass to another footballer. A footballer who never passes prevents all other footballers from dribbling. A cooperative footballer always passes to some other footballer after taking a few touches.
-
-If you hadn’t guessed already, a footballer represents subprogram and dribbling the ball corresponds to that subprogram executing. Only one subprogram gets to execute at a time, as there is only one ball (processor). Footballer Alice passing the ball to footballer Bob corresponds to stopping execution of Alice’s subprogram (and remembering where it stopped) and starting/resuming execution of Bob’s subprogram.
-
-We will call this “passing control of execution” rather than “passing the ball”. However, in the world of the micro:bit, the concurrently executing subprograms are not aware of each other, so they don’t actually pass control directly to one another. Rather they pass control of execution back to the scheduler and the scheduler determines the subprogram to pass control to next. The programmer inserts a call to the `pause` function to indicate a point in the subprogram where control of execution passes to the scheduler. Also, when a subprogram ends execution, control passes to the scheduler.
-
-Let’s take a look at the implementation of the `basic.forever` function to see an example of cooperative scheduling:
-
-```typescript
-function forever(body: () => void) {
- control.inBackground(() => {
- while(true) {
- body()
- basic.pause(20)
- }
- })
-}
-```
-
-The `forever` loop actually is a function that takes a subprogram (an *Action* in Touch Develop) as a parameter. The function uses the `control -> in background` function of the micro:bit runtime to queue a `while true` loop for execution by the scheduler. The while loop has two statements. The first statement runs the subprogram represented by the `body` parameter. The second statement passes control to the scheduler (requesting to “sleep” for 20 milliseconds).
-
-Though the `while true` loop will repeatedly execute the body subprogram, between each execution of the body it will permit the scheduler to execute other subprograms. If the while loop did not contain the call to `pause`, then once control passed into the while loop, it would never pass back to the scheduler and no other subprogram would be able to execute (unless the body subprogram contained a call to `pause` itself).
-
-### Round-robin scheduling
-
-Now, we come to the third and final job of the scheduler, which is to determine which subprogram to pass control to next. The scheduler uses two queues to perform this task, the sleep queue and the run queue. The sleep queue contains the subprograms that have called the pause function and still have time left to sleep. The run queue contains all the non-sleeping subprograms, such as the event handlers queued by the firing of an event.
-
-The scheduler moves the subprogram that has just paused into the sleep queue and then removes the subprogram at the head of the run queue and resumes its execution. Once a subprogram’s sleep period is over, the scheduler moves it from the sleep queue to the back of the run queue.
-
-The property of such round-robin scheduling is that under the assumption that every subprogram periodically enters the sleep queue, then every subprogram will periodically get a chance to execute.
-
-### Putting it all together
-
-Let’s go back to the `count button presses` function and revisit its execution based on what we have learned about the micro:bit scheduler. As detailed before, the function executes three steps to: (1) set up the event handler for each press of button A; (2) queue the forever loop to the run queue; (3) initialize the global variable `count` to zero.
-
-The function then ends execution and control passes back to the scheduler. Let’s assume the user has not pressed any buttons . The scheduler finds the `forever` loop in the run queue and passes control to it. The loop first calls `basic -> show number(0,150)`. In the diagram below, we use “Show 0” to refer to the execution of this function:
-
-![](/static/mb/device/reactive-3.png)
-
-While "Show 0" (the blue sequence) is running, periodic interrupts by the scheduler (every 6 milliseconds) poll for button presses and queue an event handler for each press of button A. Let’s say that one button press takes place during this time, as shown above. This will cause an event handler (labelled “inc”) to be queued for later execution by the scheduler. Once the "Show 0" has completed, the loop then calls `basic -> pause(20)` to put the forever loop to sleep for 20 milliseconds and give the scheduler an opportunity to run any newly queued event handler. Control passes to the “inc” event handler which will increment the global variable `count` from 0 to 1 and then complete, returning control to the scheduler. At some point, the `forever` loop moves from the sleep queue to the run queue; the `forever` loop then will resume and call `basic -> show number(1,150)`.
-
-### Final thoughts
-
-Through this example, we have seen that the micro:bit scheduler enables you to create a program that is composed of concurrent subprograms. In essence, the programmer needs to only think about the concurrent subprograms cooperatively passing control back to the scheduler, making sure no subprogram hogs control (or “dribbles the ball without passing”) for too long. While a subprogram runs, the scheduler polls the buttons and other IO peripherals at a high frequency in order to fire off events and queue event handlers for later execution, but this is invisible to the programmer.
-
-As a result, you can easily add a new capability to the micro:bit by just adding a new subprogram. For example, if you want to add a reset feature to the counter program, all you need to do is add a new event handler for a press of button B that sets the global variable "count" to zero, as shown below:
-
-```typescript
-export function countButtonPressesWithReset() {
- let count = 0
- input.onButtonPressed(Button.A, () => {
- count = count + 1
- })
- basic.forever(() => {
- basic.showNumber(count, 150)
- })
- input.onButtonPressed(Button.B, () => {
- count = 0
- })
-}
-```
-
diff --git a/docs/device/screen.md b/docs/device/screen.md
deleted file mode 100644
index fcf07258..00000000
--- a/docs/device/screen.md
+++ /dev/null
@@ -1,100 +0,0 @@
-# LED screen
-
-The micro:bit LED screen
-
-```sim
- basic.showLeds(`
- # . # . #
- . # . # .
- # . # . #
- . # . # .
- # . # . #
- `);
-```
-
-The micro:bit LED screen consists of 25 red LED lights arranged in a 5X5 grid (5 LEDs across by 5 LEDs down).
-In the screen above, we created a checkerboard pattern using the LEDs.
-
-### Which LED?
-
-You use `(x ,y)` coordinates to specify a particular LED in the grid;
-where `x` is the horizontal position (0,1,2,3,4) and `y` is the vertical position
-(0, 1, 2, 3, 4).
-
-To figure out the ``x``, ``y`` coordinates, position your micro:bit horizontally, like a credit card (see picture above).
-
-Here are the x, y coordinates for the LEDs in the 5X5 grid:
-
-`(0,0)` `(1,0)` `(2,0)` `(3,0)` `(4,0)`
-
-`(0,1)` `(1,1)` `(2,1)` `(3,1)` `(4,1)`
-
-`(0,2)` `(1,2)` `(2,2)` `(3,2)` `(4,2)`
-
-`(0,3)` `(1,3)` `(2,3)` `(3,3)` `(4,3)`
-
-`(0,4)` `(1,4)` `(2,4)` `(3,4)` `(4,4)`
-
-The x, y coordinates for the LED in the centre of the grid are `(2,2)`. Starting from `(0,0)` count over 2 columns and then down 2 rows.
-
-### Check your understanding
-
-Which LEDs are turned on in the checkboard pattern above?
-
-### Row, column - 1
-
-Since the row and column numbers start at 0, an easy way to figure out the (x,y) coordinates
-is to subtract 1 from the row and column number (when counting from 1).
-In other words, to specify the LED in the 4th column 5th row, subtract 1 from each number to get coordinates `(3,4)`.
-
-### Turn a LED on/off
-
-Use [plot](/reference/led/plot) and [unplot](/reference/led/unplot) to turn a LED on or off
-
-```blocks
-led.plot(0,0);
-led.plot(1,1);
-basic.pause(1000);
-led.unplot(0,0);
-basic.pause(1000);
-led.unplot(1,1);
-```
-
-### Is a LED on/off?
-
-Use the [point](/reference/led/point) function to find out if a LED is on or off.
-
-```blocks
-if(led.point(0,0)) {
-}
-```
-
-### Display images, strings and numbers
-
-Instead of turning individual LEDs on or off, as above, you can display an [image](/reference/images/image) directly to the screen or show text/numbers on screen using the [show number](/reference/basic/show-number)/[show string](/reference/basic/show-string) function.
-
-### The display buffer
-
-The micro:bit runtime keeps an in-memory representation of the state of all 25 LEDS. This state is known as the "display buffer" and controls which LEDS are on and which are off. The plot/unplot/point functions access the display buffer directly. On the other hand, the functions that show an image, number or string overwrite the buffer completely. To illustrate, first try running this code sequence
-
-```blocks
-basic.showString("d")
-led.plot(0, 0)
-```
-
-You will see the letter "d" displayed as well as the LED in position `0,0` lit up. Now try reversing the order of the two statements above:
-
-```blocks
-led.plot(0, 0)
-basic.showString("d", 150)
-```
-
-You will not see the LED at position `0,0` lit up because the `show string` function overwrites the whole display buffer.
-
-
-### Pins: P3, P4, P6, P7, P9, P10
-
-These pins are coupled to the LED matrix display, and also it’s associated ambient light sensing mode.
-To disable the display driver feature (which will automatically disable the light sensing feature) use the function [led.enable](/reference/led/enable).
-
-More information at http://tech.microbit.org/hardware/edgeconnector_ds/ .
diff --git a/docs/device/serial.md b/docs/device/serial.md
deleted file mode 100644
index 7daacf8d..00000000
--- a/docs/device/serial.md
+++ /dev/null
@@ -1,93 +0,0 @@
-# Serial
-
-The [serial](/reference/serial) supports [serial communication](https://en.wikipedia.org/wiki/Serial_port) between the BBC micro:bit and another computer. Basically, this allows you to send data from the micro:bit to your own computer. This is very useful for debugging purposes: you can add `write line` statements in your code and see them display on your computer as the program executes.
-
-The code below shows a simple script that sends a line when the BBC micro:bit starts and another line each time the button ``A`` is pressed.
-
-```blocks
-serial.writeLine("started...")
-input.onButtonPressed(Button.A, () => {
- serial.writeLine("A pressed")
-})
-```
-
-Data is also automatically streamed to serial by the ** bar graph** block
-and picked up by the editor. This data can be streamed to the cloud as well.
-
-```blocks
-basic.forever(() => {
- led.plotBarGraph(input.acceleration(Dimension.X), 0);
-});
-```
-
-## How to read the micro:bit's serial output from your computer
-
-Unfortunately, using the serial library requires quite a bit of a setup.
-
-### BBC micro:bit Chrome Extension
-
-If you are using the Google Chrome browser, you can use our extension to get serial data streaming in the editor.
-
-* Install the [Extension for BBC micro:bit](https://chrome.google.com/webstore/detail/extension-for-bbc-microbi/cihhkhnngbjlhahcfmhekmbnnjcjdbge?hl=en-US) on the Chrome Web Store.
-* Restart Chrome and open the [web editor](https://pxt.microbit.org)
-* The serial data will show below the simulator
-
-### Windows
-
-You must install a device driver (for the computer to recognize the
-serial interface of the micro:bit); then, you must also install a
-terminal emulator (which is going to connect to the micro:bit and read
-its output).
-
-* Follow the instructions at
- https://developer.mbed.org/handbook/Windows-serial-configuration to
- install the device driver.
-
-* Instructions for installing a terminal emulator are below.
-
-#### Windows > Tera Term
-
-* Install the terminal emulator [Tera Term](https://ttssh2.osdn.jp/index.html.en). At the time of this writing, the latest version is 4.88 and can be downloaded [from here](http://en.osdn.jp/frs/redir.php?m=jaist&f=%2Fttssh2%2F63767%2Fteraterm-4.88.exe). Follow the instructions from the installer.
-
-Once both the driver and the terminal emulator are installed, plug in the micro:bit and wait until the device is fully setup. Then, open TeraTerm.
-
-* Hit `File` > `New Connection`
-* Check "Serial"; in the dropdown menu, pick the COM port that says "mbed Serial Port". Hit `Ok`.
-* In the menus, hit `Setup` > `Serial Port` and set the baud rate to `115200`.
-
-You should be good. Feel free to hit `Setup` > `Save Setup` in the menus to erase the default configuration file with a new one so that you don't have to type in the settings again.
-
-Please note that Windows will assign you a different COM port if you plug in another micro:bit. If you're juggling between micro:bits, you'll have to change the COM port every time.
-
-#### Windows > Putty
-
-If you prefer another terminal emulator (such as [PuTTY](http://www.putty.org/)), here are some instructions.
-
-* Open Windows's [Device Manager](https://windows.microsoft.com/en-us/windows/open-device-manager); expand the section called "Ports (COM & LPT)"; write down the com number for "mbed Serial Port" (e.g. COM14)
-* Open PuTTY; on the main screen, use the following settings: Serial / COM14 / 115200. Replace COM14 with the COM port number you wrote down previously. Feel free to type in a name and hit "Save" to remember this configuration.
-
-![](/static/mb/serial-library-0.png)
-
-* (optional): in the "Terminal" section, check "implicit cr in every lf"
-
-![](/static/mb/serial-library-1.png)
-
-### Linux
-
-* Install the program `screen` if it is not already installed.
-* Plug in the micro:bit.
-* Open a terminal.
-* Find which device node the micro:bit was assigned to with the command `ls /dev/ttyACM*`.
-* If it was `/dev/ttyACM0`, type the command `screen /dev/ttyACM0 115200`. If it was some other device node,
- use that one in the command instead. **Note:** You may need root access to run `screen`
- successfully. You can probably use the command `sudo` like this: `sudo screen /dev/ttyACM0 115200`.
-* To exit `screen`, type `Ctrl-A` `Ctrl-D`.
-
-Alternative programs include `minicom` and so on.
-
-### Mac OS
-
-* Plug in the micro:bit
-* Open a terminal
-* `ls /dev/cu.*` will return to you a list of serial devices; one of them will look like `/dev/cu.usbmodem1422` (the exact number depends on your computer)
-* `screen /dev/cu.usbmodem1422 115200` will open up the micro:bit's serial output. To exit, hit `Ctrl-A` `Ctrl-D`.
diff --git a/docs/device/simulator.md b/docs/device/simulator.md
deleted file mode 100644
index e517e900..00000000
--- a/docs/device/simulator.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# Simulator
-
-The JavaScript simulator allows to test and execute most BBC micro:bit programs in the browser.
-It allows to emulate sensor data or user interactions.
-
-```sim
-input.onButtonPressed(Button.A, () => {
- basic.showString("A");
-});
-input.onButtonPressed(Button.B, () => {
- basic.showString("B");
-});
-input.onPinPressed(TouchPin.P0, () => {
- basic.showString("0");
-});
-input.onPinPressed(TouchPin.P1, () => {
- basic.showString("1");
-});
-input.onPinPressed(TouchPin.P2, () => {
- basic.showString("2");
-});
-input.temperature()
-input.compassHeading()
-input.lightLevel()
-```
\ No newline at end of file
diff --git a/docs/device/usb.md b/docs/device/usb.md
deleted file mode 100644
index 017d528b..00000000
--- a/docs/device/usb.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# Uploading programs on your micro:bit
-
-While you're writing and testing your programs, you'll mostly be [running them
-in the simulator](/device/simulator), but once you've finished your program you
-can **compile** it and run it on your micro:bit.
-
-The basic steps are:
-
-1. Connect your micro:bit to your computer via USB
-2. Click **Download** and download the `.hex` file
-3. Copy the `.hex` file from your computer onto the micro:bit drive
-
-![](/static/mb/device/usb-thin.jpg)
-
-## Instructions
-
-Pick the instructions for your operating system and browser:
-
-* [Windows - Microsoft Edge](/device/usb/windows-edge)
-* [Windows - Internet Explorer](/device/usb/windows-ie)
-* [Windows - Chrome](/device/usb/windows-chrome)
-* [Windows - Firefox](/device/usb/windows-firefox)
-* [Mac - Safari](/device/usb/mac-safari)
-* [Mac - Chrome](/device/usb/mac-chrome)
-* [Mac - Firefox](/device/usb/mac-firefox)
-
-### ~hint
-
-Transfer not working? See some [troubleshooting tips](/device/usb/troubleshooting).
-
-### ~
diff --git a/docs/device/usb/mac-chrome.md b/docs/device/usb/mac-chrome.md
deleted file mode 100644
index 14e7143a..00000000
--- a/docs/device/usb/mac-chrome.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# Uploading from Chrome for Mac
-
-While you're writing and testing your programs, you'll mostly be [running them
-in the simulator](/device/simulator), but once you've finished your program you
-can **compile** it and run it on your micro:bit.
-
-The basic steps are:
-
-1. Connect your micro:bit to your computer via USB
-2. Click **Download** and download the `.hex` file
-3. Copy the `.hex` file from your computer onto the micro:bit drive
-
-## Requirements
-
-You need the following things to transfer and run a script on your micro:bit:
-
-* A-Male to Micro USB cable to connect your computer to your micro:bit. This is
- the same cable that is commonly used to connect a smart phone to a computer.
-* A PC running Windows 7 or later, or a Mac running OS X 10.6 or later
-
-## Step 1: Connect your micro:bit to your computer
-
-First, connect the micro:bit:
-
-1. Connect the small end of the USB cable to the micro USB port on your micro:bit.
-
-2. Connect the other end of the USB cable to a USB port on your computer.
-
-Your computer should recognise your micro:bit as a new drive. On computers
-running Windows, `MICROBIT` appears as a drive under Devices and drives. On a Mac
-it appears as a new drive under Devices.
-
-![](/static/mb/device/usb-osx-device.png)
-
-## Step 2: Download your program
-
-1. Open your project on [pxt.microbit.org](https://pxt.microbit.org)
-2. Click **Download**
-3. When prompted, choose to **save** the compiled file onto your computer. The
- prompt will be different depending on which browser you are using, or
- whether you are using a Windows computer or a Mac
-
-When you select **Download** in Chrome, the file will appear at the bottom of
-the browser. Click on the small arrow and select **Show in Finder**. This will
-show the file in your download folder. Drag and drop the file onto your
-`MICROBIT` drive.
-
-![](/static/mb/device/usb-osx-chrome.png)
-
-## Step 3: Transfer the file to your micro:bit
-
-* Once you've found the folder containing your `.hex` file, drag and drop it
- onto your `MICROBIT` drive
-* The LED on the back of your micro:bit flashes during the transfer (which
- should only take a few seconds).
-* Once transferred, the code will run automatically on your micro:bit. To rerun
- your program, press the reset button on the back of your micro:bit. The reset
- button automatically runs the newest file on the micro:bit.
-
-By copying the script onto the `MICROBIT` drive, you have programmed it into the
-flash memory on the micro:bit, which means even after you unplug the micro:bit,
-your program will still run if the micro:bit is powered by battery.
-
-
-### ~hint
-
-Transfer not working? See some [troubleshooting tips](/device/usb/troubleshooting).
-
-### ~
diff --git a/docs/device/usb/mac-firefox.md b/docs/device/usb/mac-firefox.md
deleted file mode 100644
index 79b39a9b..00000000
--- a/docs/device/usb/mac-firefox.md
+++ /dev/null
@@ -1,71 +0,0 @@
-# Uploading from Firefox for Mac
-
-While you're writing and testing your programs, you'll mostly be [running them
-in the simulator](/device/simulator), but once you've finished your program you
-can **compile** it and run it on your micro:bit.
-
-The basic steps are:
-
-1. Connect your micro:bit to your computer via USB
-2. Click **Download** and download the `.hex` file
-3. Copy the `.hex` file from your computer onto the micro:bit drive
-
-## Requirements
-
-You need the following things to transfer and run a script on your micro:bit:
-
-* A-Male to Micro USB cable to connect your computer to your micro:bit. This is
- the same cable that is commonly used to connect a smart phone to a computer.
-* A PC running Windows 7 or later, or a Mac running OS X 10.6 or later
-
-## Step 1: Connect your micro:bit to your computer
-
-First, connect the micro:bit:
-
-1. Connect the small end of the USB cable to the micro USB port on your micro:bit.
-
-2. Connect the other end of the USB cable to a USB port on your computer.
-
-Your computer should recognise your micro:bit as a new drive. On computers
-running Windows, `MICROBIT` appears as a drive under Devices and drives. On a Mac
-it appears as a new drive under Devices.
-
-![](/static/mb/device/usb-osx-device.png)
-
-## Step 2: Download your program
-
-1. Open your project on [pxt.microbit.org](https://pxt.microbit.org)
-2. Click **Download**
-3. When prompted, choose to **save** the compiled file onto your computer. The
- prompt will be different depending on which browser you are using, or
- whether you are using a Windows computer or a Mac
-
-A dialogue box will appear, asking whether you would like to open or save your
-hex file. Select **Save file** and click **OK** and the file will then appear in
-your downloads in the top right of your browser. Right click on the file and
-click on **Show in Finder** and the file will appear in your downloads folder.
-Select the file and drag and drop it onto your `MICROBIT` drive.
-
-![](/static/mb/device/usb-osx-firefox-1.jpg)
-
-![](/static/mb/device/usb-osx-firefox-2.png)
-
-## Step 3: Transfer the file to your micro:bit
-
-* Once you've found the folder containing your `.hex` file, drag and drop it
- onto your `MICROBIT` drive
-* The LED on the back of your micro:bit flashes during the transfer (which
- should only take a few seconds).
-* Once transferred, the code will run automatically on your micro:bit. To rerun
- your program, press the reset button on the back of your micro:bit. The reset
- button automatically runs the newest file on the micro:bit.
-
-By copying the script onto the `MICROBIT` drive, you have programmed it into the
-flash memory on the micro:bit, which means even after you unplug the micro:bit,
-your program will still run if the micro:bit is powered by battery.
-
-### ~hint
-
-Transfer not working? See some [troubleshooting tips](/device/usb/troubleshooting).
-
-### ~
diff --git a/docs/device/usb/mac-safari.md b/docs/device/usb/mac-safari.md
deleted file mode 100644
index 104e364a..00000000
--- a/docs/device/usb/mac-safari.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# Uploading from Safari for Mac
-
-While you're writing and testing your programs, you'll mostly be [running them
-in the simulator](/device/simulator), but once you've finished your program you
-can **compile** it and run it on your micro:bit.
-
-The basic steps are:
-
-1. Connect your micro:bit to your computer via USB
-2. Click **Download** and download the `.hex` file
-3. Copy the `.hex` file from your computer onto the micro:bit drive
-
-## Requirements
-
-You need the following things to transfer and run a script on your micro:bit:
-
-* A-Male to Micro USB cable to connect your computer to your micro:bit. This is
- the same cable that is commonly used to connect a smart phone to a computer.
-* A PC running Windows 7 or later, or a Mac running OS X 10.6 or later
-
-## Step 1: Connect your micro:bit to your computer
-
-First, connect the micro:bit:
-
-1. Connect the small end of the USB cable to the micro USB port on your micro:bit.
-
-2. Connect the other end of the USB cable to a USB port on your computer.
-
-Your computer should recognise your micro:bit as a new drive. On computers
-running Windows, `MICROBIT` appears as a drive under Devices and drives. On a Mac
-it appears as a new drive under Devices.
-
-![](/static/mb/device/usb-osx-device.png)
-
-## Step 2: Download your program
-
-1. Open your project on [pxt.microbit.org](https://pxt.microbit.org)
-2. Click **Download**
-3. When prompted, choose to **save** the compiled file onto your computer. The
- prompt will be different depending on which browser you are using, or
- whether you are using a Windows computer or a Mac
-
-When you select **Download** in Safari a file called `Unknown` will be
-downloaded into your Downloads folder. Open your Downloads folder and drag and
-drop the file onto your `MICROBIT` drive, under Devices:
-
-![](/static/mb/device/usb-osx-dnd.png)
-
-## Step 3: Transfer the file to your micro:bit
-
-* Once you've found the folder containing your `.hex` file, drag and drop it
- onto your `MICROBIT` drive
-* The LED on the back of your micro:bit flashes during the transfer (which
- should only take a few seconds).
-* Once transferred, the code will run automatically on your micro:bit. To rerun
- your program, press the reset button on the back of your micro:bit. The reset
- button automatically runs the newest file on the micro:bit.
-
-By copying the script onto the `MICROBIT` drive, you have programmed it into the
-flash memory on the micro:bit, which means even after you unplug the micro:bit,
-your program will still run if the micro:bit is powered by battery.
-
-
-### ~hint
-
-Transfer not working? See some [troubleshooting tips](/device/usb/troubleshooting).
-
-### ~
diff --git a/docs/device/usb/troubleshooting.md b/docs/device/usb/troubleshooting.md
deleted file mode 100644
index 57ae3a8f..00000000
--- a/docs/device/usb/troubleshooting.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Troubleshooting Transfer
-
-You can’t drag and drop more than one hex file at once onto your micro:bit. If
-you try to drag and drop a second hex file onto your micro:bit before the first
-file has finished downloading, then the second file may fail in different ways.
-
-When the first program has been written to the micro:bit, the drive will
-disengage. If you drag and drop a second file at this point it may not find the
-drive and the second write will fail.
-
-The errors may look like this:
-
-**Windows**
-
-![](/static/mb/device/usb-windows-copy-file-error.jpg)
-
-**Mac**
-
-![](/static/mb/device/usb-osx-copy-file-error.png)
-
-Or it may appear that there are two hex files on your micro:bit so the micro:bit
-won’t be able to run multiple files. To rectify this, unplug your micro:bit and
-plug it in again. Make sure that your micro:bit appears as `MICROBIT` and not
-`MAINTENANCE`.
diff --git a/docs/device/usb/windows-chrome.md b/docs/device/usb/windows-chrome.md
deleted file mode 100644
index b19e48ae..00000000
--- a/docs/device/usb/windows-chrome.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# Uploading from Chrome for Windows
-
-While you're writing and testing your programs, you'll mostly be [running them
-in the simulator](/device/simulator), but once you've finished your program you
-can **compile** it and run it on your micro:bit.
-
-The basic steps are:
-
-1. Connect your micro:bit to your computer via USB
-2. Click **Download** and download the `.hex` file
-3. Copy the `.hex` file from your computer onto the micro:bit drive
-
-### ~hint
-
-You can use the [micro:bit uploader](/uploader) to automatically deploy ``.hex`` files to your micro:bit!
-![](/static/uploader/tooltip.png)
-
-### ~
-
-## Requirements
-
-You need the following things to transfer and run a script on your micro:bit:
-
-* A-Male to Micro USB cable to connect your computer to your micro:bit. This is
- the same cable that is commonly used to connect a smart phone to a computer.
-* A PC running Windows 7 or later, or a Mac running OS X 10.6 or later
-
-## Step 1: Connect your micro:bit to your computer
-
-First, connect the micro:bit:
-
-1. Connect the small end of the USB cable to the micro USB port on your micro:bit.
-
-2. Connect the other end of the USB cable to a USB port on your computer.
-
-Your computer should recognise your micro:bit as a new drive. On computers
-running Windows, `MICROBIT` appears as a drive under Devices and drives. On a Mac
-it appears as a new drive under Devices.
-
-![](/static/mb/device/usb-windows-device.jpg)
-
-## Step 2: Download your program
-
-1. Open your project on [pxt.microbit.org](https://pxt.microbit.org)
-2. Click **Download**
-3. When prompted, choose to **save** the compiled file onto your computer. The
- prompt will be different depending on which browser you are using, or
- whether you are using a Windows computer or a Mac
-
-Your `.hex` file appears as a download at the bottom of the browser. Click on
-the arrow next to the name of the file and then click **Show in folder**.
-
-![](/static/mb/device/usb-windows-chrome.png)
-
-Drag and drop the `.hex` file from the download folder onto the `MICROBIT` drive.
-
-## Step 3: Transfer the file to your micro:bit
-
-* Once you've found the folder containing your `.hex` file, drag and drop it
- onto your `MICROBIT` drive
-* The LED on the back of your micro:bit flashes during the transfer (which
- should only take a few seconds).
-* Once transferred, the code will run automatically on your micro:bit. To rerun
- your program, press the reset button on the back of your micro:bit. The reset
- button automatically runs the newest file on the micro:bit.
-
-In File Explorer, right-click on the hex file (created in Step 2 above), choose **Send to**, and then **MICROBIT**.
-
-![](/static/mb/device/usb-windows-sendto.jpg)
-
-By copying the script onto the `MICROBIT` drive, you have programmed it into the
-flash memory on the micro:bit, which means even after you unplug the micro:bit,
-your program will still run if the micro:bit is powered by battery.
-
-### ~hint
-
-Transfer not working? See some [troubleshooting tips](/device/usb/troubleshooting).
-
-### ~
diff --git a/docs/device/usb/windows-edge.md b/docs/device/usb/windows-edge.md
deleted file mode 100644
index e72eea0c..00000000
--- a/docs/device/usb/windows-edge.md
+++ /dev/null
@@ -1,89 +0,0 @@
-# Uploading from Edge on Windows
-
-How to compile, transfer, and run a program on your micro:bit on **Microsoft Edge**.
-
-While you're writing and testing your programs, you'll mostly be [running them
-in the simulator](/device/simulator), but once you've finished your program you
-can **compile** it and run it on your micro:bit.
-
-The basic steps are:
-
-1. Connect your micro:bit to your computer via USB
-2. Click **Download** and download the `.hex` file
-3. Copy the `.hex` file from your computer onto the micro:bit drive
-
-### ~hint
-
-You can use the [micro:bit uploader](/uploader) to automatically deploy ``.hex`` files to your micro:bit!
-![](/static/uploader/tooltip.png)
-
-### ~
-
-## Requirements
-
-You need the following things to transfer and run a script on your micro:bit:
-
-* A-Male to Micro USB cable to connect your computer to your micro:bit. This is
- the same cable that is commonly used to connect a smart phone to a computer.
-* A PC running Windows 7 or later, or a Mac running OS X 10.6 or later
-
-## Step 1: Connect your micro:bit to your computer
-
-First, connect the micro:bit:
-
-1. Connect the small end of the USB cable to the micro USB port on your micro:bit.
-
-2. Connect the other end of the USB cable to a USB port on your computer.
-
-Your computer should recognise your micro:bit as a new drive. On computers
-running Windows, `MICROBIT` appears as a drive under Devices and drives. On a Mac
-it appears as a new drive under Devices.
-
-![](/static/mb/device/usb-windows-device.jpg)
-
-## Step 2: Download your program
-
-1. Open your project on [pxt.microbit.org](https://pxt.microbit.org)
-2. Click **Download**
-3. When prompted, choose to **save** the compiled file onto your computer. The
- prompt will be different depending on which browser you are using, or
- whether you are using a Windows computer or a Mac
-
-A message will appear at the bottom of the browser asking what you want to do
-with the file. Click **Save**:
-
-![](/static/mb/device/usb-windows-edge-1.png)
-
-Then click **Open folder** and drag and drop the file from your Downloads to
-your `MICROBIT` drive.
-
-![](/static/mb/device/usb-windows-edge-2.png)
-
-## Step 3: Transfer the file to your micro:bit
-
-* Once you've found the folder containing your `.hex` file, drag and drop it
- onto your `MICROBIT` drive
-* If you're using Windows, you can use **Send to** as described below
-* The LED on the back of your micro:bit flashes during the transfer (which
- should only take a few seconds).
-* Once transferred, the code will run automatically on your micro:bit. To rerun
- your program, press the reset button on the back of your micro:bit. The reset
- button automatically runs the newest file on the micro:bit.
-
-In File Explorer, right-click on the hex file (created in Step 2 above), choose **Send to**, and then **MICROBIT**.
-
-![](/static/mb/device/usb-windows-sendto.jpg)
-
-By copying the script onto the `MICROBIT` drive, you have programmed it into the
-flash memory on the micro:bit, which means even after you unplug the micro:bit,
-your program will still run if the micro:bit is powered by battery.
-
-If you want to save time, you can use the [micro:bit uploader](/uploader) to
-automatically deploy hex files to your micro:bit. It works on Windows and is
-compatible with any browser.
-
-### ~hint
-
-Transfer not working? See some [troubleshooting tips](/device/usb/troubleshooting).
-
-### ~
diff --git a/docs/device/usb/windows-firefox.md b/docs/device/usb/windows-firefox.md
deleted file mode 100644
index 473d6322..00000000
--- a/docs/device/usb/windows-firefox.md
+++ /dev/null
@@ -1,86 +0,0 @@
-# Uploading from Firefox on Windows
-
-How to compile, transfer, and run a program on your micro:bit on **Firefox for Windows**.
-
-While you're writing and testing your programs, you'll mostly be [running them
-in the simulator](/device/simulator), but once you've finished your program you
-can **compile** it and run it on your micro:bit.
-
-The basic steps are:
-
-1. Connect your micro:bit to your computer via USB
-2. Click **Download** and download the `.hex` file
-3. Copy the `.hex` file from your computer onto the micro:bit drive
-
-### ~hint
-
-You can use the [micro:bit uploader](/uploader) to automatically deploy ``.hex`` files to your micro:bit!
-![](/static/uploader/tooltip.png)
-
-### ~
-
-## Requirements
-
-You need the following things to transfer and run a script on your micro:bit:
-
-* A-Male to Micro USB cable to connect your computer to your micro:bit. This is
- the same cable that is commonly used to connect a smart phone to a computer.
-* A PC running Windows 7 or later, or a Mac running OS X 10.6 or later
-
-## Step 1: Connect your micro:bit to your computer
-
-First, connect the micro:bit:
-
-1. Connect the small end of the USB cable to the micro USB port on your micro:bit.
-
-2. Connect the other end of the USB cable to a USB port on your computer.
-
-Your computer should recognise your micro:bit as a new drive. On computers
-running Windows, `MICROBIT` appears as a drive under Devices and drives. On a Mac
-it appears as a new drive under Devices.
-
-![](/static/mb/device/usb-windows-device.jpg)
-
-## Step 2: Download your program
-
-1. Open your project on [pxt.microbit.org](https://pxt.microbit.org)
-2. Click **Download**
-3. When prompted, choose to **save** the compiled file onto your computer. The
- prompt will be different depending on which browser you are using, or
- whether you are using a Windows computer or a Mac
-
-A window will appear asking whether you want to save or open the `.hex` file.
-Select **Save File** and then select **OK**.
-
-![](/static/mb/device/usb-windows-firefox-1.png)
-
-The file will then appear in your downloads in the top right of your browser.
-Click the **folder icon** next to the filename to open it in Windows Explorer.
-
-![](/static/mb/device/usb-windows-firefox-2.jpg)
-
-Drag and drop the `.hex` file from the download folder onto the `MICROBIT` drive.
-## Step 3: Transfer the file to your micro:bit
-
-* Once you've found the folder containing your `.hex` file, drag and drop it
- onto your `MICROBIT` drive
-* If you're using Windows, you can use **Send to** as described below
-* The LED on the back of your micro:bit flashes during the transfer (which
- should only take a few seconds).
-* Once transferred, the code will run automatically on your micro:bit. To rerun
- your program, press the reset button on the back of your micro:bit. The reset
- button automatically runs the newest file on the micro:bit.
-
-In File Explorer, right-click on the hex file (created in Step 2 above), choose **Send to**, and then **MICROBIT**.
-
-![](/static/mb/device/usb-windows-sendto.jpg)
-
-By copying the script onto the `MICROBIT` drive, you have programmed it into the
-flash memory on the micro:bit, which means even after you unplug the micro:bit,
-your program will still run if the micro:bit is powered by battery.
-
-### ~hint
-
-Transfer not working? See some [troubleshooting tips](/device/usb/troubleshooting).
-
-### ~
diff --git a/docs/device/usb/windows-ie.md b/docs/device/usb/windows-ie.md
deleted file mode 100644
index 786a998e..00000000
--- a/docs/device/usb/windows-ie.md
+++ /dev/null
@@ -1,86 +0,0 @@
-# Uploading from Internet Explorer on Windows
-
-While you're writing and testing your programs, you'll mostly be [running them
-in the simulator](/device/simulator), but once you've finished your program you
-can **compile** it and run it on your micro:bit.
-
-The basic steps are:
-
-1. Connect your micro:bit to your computer via USB
-2. Click **Download** and download the `.hex` file
-3. Copy the `.hex` file from your computer onto the micro:bit drive
-
-### ~hint
-
-You can use the [micro:bit uploader](/uploader) to automatically deploy ``.hex`` files to your micro:bit!
-![](/static/uploader/tooltip.png)
-
-### ~
-
-## Requirements
-
-You need the following things to transfer and run a script on your micro:bit:
-
-* A-Male to Micro USB cable to connect your computer to your micro:bit. This is
- the same cable that is commonly used to connect a smart phone to a computer.
-* A PC running Windows 7 or later, or a Mac running OS X 10.6 or later
-
-## Step 1: Connect your micro:bit to your computer
-
-First, connect the micro:bit:
-
-1. Connect the small end of the USB cable to the micro USB port on your micro:bit.
-
-2. Connect the other end of the USB cable to a USB port on your computer.
-
-Your computer should recognise your micro:bit as a new drive. On computers
-running Windows, `MICROBIT` appears as a drive under Devices and drives. On a Mac
-it appears as a new drive under Devices.
-
-![](/static/mb/device/usb-windows-device.jpg)
-
-## Step 2: Download your program
-
-1. Open your project on [pxt.microbit.org](https://pxt.microbit.org)
-2. Click **Download**
-3. When prompted, choose to **save** the compiled file onto your computer. The
- prompt will be different depending on which browser you are using, or
- whether you are using a Windows computer or a Mac
-
-A message will appear at the bottom of the browser asking what you want to do
-with the file. Click **Save**:
-
-![](/static/mb/device/usb-windows-ie11-1.png)
-
-Then click **Open folder** and drag and drop the file from your Downloads to
-your `MICROBIT` drive.
-
-![](/static/mb/device/usb-windows-ie11-2.png)
-
-## Step 3: Transfer the file to your micro:bit
-
-* Once you've found the folder containing your `.hex` file, drag and drop it
- onto your `MICROBIT` drive
-* If you're using Windows, you can use **Send to** as described below
-* The LED on the back of your micro:bit flashes during the transfer (which
- should only take a few seconds).
-* Once transferred, the code will run automatically on your micro:bit. To rerun
- your program, press the reset button on the back of your micro:bit. The reset
- button automatically runs the newest file on the micro:bit.
-
-**Send to**: If you're using Windows you use *Send to* in File Explorer:
-
-In File Explorer, right-click on the hex file (created in Step 2 above), choose **Send to**, and then **MICROBIT**.
-
-![](/static/mb/device/usb-windows-sendto.jpg)
-
-By copying the script onto the `MICROBIT` drive, you have programmed it into the
-flash memory on the micro:bit, which means even after you unplug the micro:bit,
-your program will still run if the micro:bit is powered by battery.
-
-
-### ~hint
-
-Transfer not working? See some [troubleshooting tips](/device/usb/troubleshooting).
-
-### ~
diff --git a/docs/docs.md b/docs/docs.md
index 09bfa17d..f8110ca5 100644
--- a/docs/docs.md
+++ b/docs/docs.md
@@ -2,12 +2,6 @@
### @description Links to the documentation, reference and projects.
-### @boardname@ reference
-
* [The @boardname@ APIs](/reference)
-* [The @boardname@ device](/device)
-
-### Language and data reference
-
* [Blocks language](/blocks)
* [JavaScript language](/javascript)
diff --git a/docs/faq.md b/docs/faq.md
deleted file mode 100644
index d525c836..00000000
--- a/docs/faq.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Frequently Asked Questions
-
-### @description Frequently asked questions and answers from our users.
-
-## Which web sites do I need to unblock for pxt.microbit.org?
-
-This is the list of domains that need to be unblocked to allow the web editor to load:
-
-* https://pxt.microbit.org
-* https://www.pxt.io
-* https://trg-microbit.userpxt.io
-* https://pxt.azureedge.net
-
-Can't find your question? Please search for solutions or open a ticket at [support.microbit.org](https://support.microbit.org)!
diff --git a/docs/getting-started.md b/docs/getting-started.md
deleted file mode 100644
index 475366f8..00000000
--- a/docs/getting-started.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# Getting started
-
-### @description An activity for beginners to get started with the @boardname@
-
-## ~avatar
-
-Here are some challenges for you. Arrange the blocks in the editor
-to make real programs that work!
-
-## ~
-
-Use the **Basic** drawer in the editor
-to drag out and arrange three blocks to create this program:
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
- . . . . .
- . # . # .
- . . . . .
- # . . . #
- . # # # .
- `)
- basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- `)
-});
-```
-
-When this program runs, you will see a smiley face, then a blank
-screen, then a smiley again -- it never stops! (That's because of the
-``forever`` block.)
-
-Click **Download** to move your program to the @boardname@!
-Make sure to follow the instructions.
-
-### ~button /getting-started/screen
-NEXT: THE SCREEN
-### ~
\ No newline at end of file
diff --git a/docs/getting-started/buttons.md b/docs/getting-started/buttons.md
deleted file mode 100644
index 120352f7..00000000
--- a/docs/getting-started/buttons.md
+++ /dev/null
@@ -1,81 +0,0 @@
-# Button A and button B
-
-### ~avatar avatar
-
-Buttons are great to build games!
-
-### ~
-
-This program will show the word **ANTEATER** on the LED
-screen when you press button `A`.
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- basic.showString("ANTEATER");
-});
-```
-
-#### ~hint
-
-The ``showString`` block can show letters, numbers, and punctuation
-on the @boardname@ screen.
-
-#### ~
-
-Now try to unscramble these blocks in the editor so that the @boardname@
-shows **BANANA** when you press button `B`.
-
-```shuffle
-input.onButtonPressed(Button.B, () => {
- basic.showString("BANANA");
-});
-```
-#### ~hint
-
-You can find the letter `B` by clicking the letter `A` on the
-``onButtonPressed`` block.
-
-#### ~
-
-Click **Download** to move your program to the @boardname@!
-
-#### Your turn!
-
-Can you combine these blocks so your program shows your real name
-instead of **ANTEATER** when you press `A`, but _your secret agent
-name_ instead of **BANANA** when you press `B`?
-
-### Pins
-
-You can also use the pins as buttons. (The pins are the holes in the
-metal stripe at the bottom of the @boardname@ board.) For example, hold
-the ``GND`` button with one hand and touch the ``0`` pin (called
-``P0``) with your other hand to tell the @boardname@ you're pressing it.
-
-Unscramble the blocks in the editor to show a heart when you touch
-pin ``P0``.
-
-```shuffle
-input.onPinPressed(TouchPin.P0, () => {
- basic.showLeds(`
-. # . # .
-# . # . #
-# . . . #
-. # . # .
-. . # . .`);
-});
-```
-Click **Download** to move your program to the @boardname@!
-
-## ~hint
-
-Try this experiment: find a friend and hold hands. Touch the ``GND``
-pin while your friend presses the ``P0`` pin. You should see the
-heart! The electric current is going through your bodies and across
-your handshake to make it happen!
-
-## ~
-
-### ~button /getting-started/shake
-NEXT: SHAKE
-### ~
\ No newline at end of file
diff --git a/docs/getting-started/coin-flipper.md b/docs/getting-started/coin-flipper.md
deleted file mode 100644
index fd5d13ae..00000000
--- a/docs/getting-started/coin-flipper.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# The amazing coin flipper
-
-### ~avatar avatar
-
-Are you trying to choose whether to play soccer or go to the movies
-instead, or which toppings to have on your pizza? Build a coin
-flipping machine with the @boardname@ to choose for you!
-
-### ~
-
-Here are the blocks to make your coin flipper. When you press button
-`B`, the coin flipper will show either `H` for heads or `T` for tails
-on the LED screen.
-
-```blocks
-input.onButtonPressed(Button.B, () => {
- if (Math.randomBoolean()) {
- basic.showString("H");
- } else {
- basic.showString("T");
- }
-});
-```
-### ~hint
-
-The ``pick random true or false`` block randomly tells the ``if``
-block `true` or `false`. If the ``pick`` block picked `true`, the
-``if`` block shows the letter `H`. Otherwise, it shows the letter `T`.
-
-That's it!
-
-### ~
-
-### Keeping score
-
-#### ~avatar
-
-To keep track out of how many guesses you've won,
-add these blocks to your coin flipper:
-
-#### ~
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- game.addScore(1);
-});
-input.onButtonPressed(Button.AB, () => {
- basic.showNumber(game.score());
-});
-```
-
-These blocks mean that if you press button `A`, you will add `1` to
-your score, and if you press `A` and `B` together, the @boardname@ will
-show your score.
-
-When you're done, your coin flipping program should look like this:
-
-```blocks
-input.onButtonPressed(Button.B, () => {
- if (Math.randomBoolean()) {
- basic.showString("H");
- } else {
- basic.showString("T");
- }
-});
-input.onButtonPressed(Button.A, () => {
- game.addScore(1);
-});
-input.onButtonPressed(Button.AB, () => {
- basic.showNumber(game.score());
-});
-```
-
-Flip until your thumbs get tired!
-
-### ~button /getting-started/rock-paper-scissors
-NEXT: ROCK PAPER SCISSORS
-### ~
diff --git a/docs/getting-started/rock-paper-scissors.md b/docs/getting-started/rock-paper-scissors.md
deleted file mode 100644
index 11561cd8..00000000
--- a/docs/getting-started/rock-paper-scissors.md
+++ /dev/null
@@ -1,205 +0,0 @@
-# Rock Paper Scissors
-
-### ~avatar avatar
-
-Build a Rock Paper Scissors game with the @boardname@! You can play
-the game with a friend who has it on a @boardname@. You can also play
-it with friends who are just using their hands. (The game is built
-like a coin flipper, but with three choices instead of two.)
-
-### ~
-
-## Step 1: Getting started
-
-We want the @boardname@ to choose rock, paper, or scissors when you
-shake it. Try creating an ``on shake`` block so when you shake the
-@boardname@, it will run part of a program.
-
-Clear up the blocks and add the blocks below.
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
-
-})
-```
-
-Next, when you shake the @boardname@, it should pick a random number from `0` to `2`
-and store it in the variable `item`.
-
-Add a ``set`` block with a variable. Then add a ``pick random`` block,
-and store the random number in the variable,
-like this:
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let item = Math.random(3)
-})
-
-```
-
-### ~hint
-No one can predict random numbers. That's what makes them great for Rock Paper Scissors!
-### ~
-
-Each possible number these blocks can make (`0`, `1`, or `2`) means a different picture.
-We will show the right picture for that number on the LED screen.
-
-
-## Step 2: Picking paper
-
-Put an ``if`` block after the ``let`` block that checks whether
-`item` is `0`. Make sure the ``if`` block has an ``else if`` part
-and an ``else`` part.
-
-Next, add a ``show leds`` block that shows a
-picture of a piece of paper:
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let item = Math.random(3)
- if (item == 0) {
- basic.showLeds(`
- # # # # #
- # . . . #
- # . . . #
- # . . . #
- # # # # #
- `)
- } else if (false) {
-
- } else {
-
- }
-})
-```
-
-## Step 3: A random rock
-
-Now we are going to add a new picture for the @boardname@ to show
-when another random number comes up.
-
-Make the ``else if`` part check if the variable `item` is `1`.
-Then add a ``show leds`` block with a picture of a rock.
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let item = Math.random(3)
- if (item == 0) {
- basic.showLeds(`
- # # # # #
- # . . . #
- # . . . #
- # . . . #
- # # # # #
- `)
- } else if (item == 1) {
- basic.showLeds(`
- . . . . .
- . # # # .
- . # # # .
- . # # # .
- . . . . .
- `)
- } else {
-
- }
-})
-```
-
-## Step 4: Suddenly scissors
-
-Add a ``show leds`` block with a picture of scissors to the ``else`` part:
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let item = Math.random(3)
- if (item == 0) {
- basic.showLeds(`
- # # # # #
- # . . . #
- # . . . #
- # . . . #
- # # # # #
- `)
-
- } else if (item == 1) {
- basic.showLeds(`
- . . . . .
- . # # # .
- . # # # .
- . # # # .
- . . . . .
- `)
- } else {
- basic.showLeds(`
- # # . . #
- # # . # .
- . . # . .
- # # . # .
- # # . . #
- `)
- }
-})
-
-```
-
-### ~hint
-
-You don't need to check if `item` is `2` because `2` is the only number left out of `0`, `1`, and `2`.
-That's why you can use an ``else`` instead of an ``else if``.
-
-### ~
-
-Your game is ready!
-
-Click **Download** to move your program to the @boardname@!
-
-Have fun!
-
-## Step 5: Are you the greatest?
-
-Here is a way you can make your Rock Paper Scissors game better.
-When button ``A`` is pressed,
-the @boardname@ will add `1` to your score.
-
-Open the ``Game`` drawer, and then add the block ``change score by 1`` to your program,
-like this:
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- game.addScore(1)
-})
-
-```
-
-## Step 6: Prove you're the greatest!
-
-After your @boardname@ can add `1` to the score, show how many wins you have.
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- game.addScore(1)
- basic.showString("WINS:")
- basic.showNumber(game.score())
-})
-```
-## Step 7: Staying honest
-
-Success! Your @boardname@ can track wins!
-But what about losses?
-Use the ``Game`` drawer to subtract `1` from your score when you press button `B`.
-
-Here are all the blocks you will need:
-
-```shuffle
-input.onButtonPressed(Button.B, () => {
- game.addScore(-1)
- basic.showString("LOSSES:")
- basic.showNumber(game.score())
-})
-```
-Click **Download** to move your program to the @boardname@!
-
-### ~button /projects
-NEXT: PROJECTS!
-### ~
diff --git a/docs/getting-started/screen.md b/docs/getting-started/screen.md
deleted file mode 100644
index fd700b41..00000000
--- a/docs/getting-started/screen.md
+++ /dev/null
@@ -1,98 +0,0 @@
-# Screen
-
-### ~avatar avatar
-
-There are 25 bright LEDs on the @boardname@ screen. Let's use them to create some cool animations!
-
-### ~
-
-### Happy unhappy face
-
-Draw an unhappy face instead of the blank screen. Click on the dots
-in the second ``show leds`` block until it matches the blocks below.
-Now you have an **animation** (cartoon) that shows a happy face,
-then an unhappy one, then a happy one again, forever (or until
-you turn off your @boardname@)!
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
- . . . . .
- . # . # .
- . . . . .
- # . . . #
- . # # # .
- `)
- basic.showLeds(`
- . . . . .
- . # . # .
- . . . . .
- . # # # .
- # . . . #
- `)
-});
-```
-Click **Download** to move your program to the @boardname@!
-
-### Your turn!
-
-Pile up more ``show leds`` blocks to create an animation! Create an
-animation with at least 5 pictures. What does this animation show?
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
- . . . . .
- . # . # .
- . . . . .
- # . . . #
- . # # # .
- `)
- basic.showLeds(`
- . . . . .
- . # . # .
- . . . . .
- # # # # #
- . . . . .
- `)
- basic.showLeds(`
- . . . . .
- . # . # .
- . . . . .
- . # # # .
- # . . . #
- `)
- basic.showLeds(`
- . . . . .
- . # . # .
- . . . . .
- # # # # #
- . . . # #
- `)
- basic.showLeds(`
- . . . . .
- # . # . .
- . . . . .
- # . . . #
- . # # # .
- `)
- basic.showLeds(`
- . . . . .
- . . # . #
- . . . . .
- # . . . #
- . # # # .
- `)
-});
-```
-Click **Download** to move your program to the @boardname@!
-
-#### ~hint
-
-You can find the ``show leds`` block in the **Basic** part of the editor.
-
-#### ~
-
-### ~button /getting-started/buttons
-NEXT: BUTTONS
-### ~
\ No newline at end of file
diff --git a/docs/getting-started/shake.md b/docs/getting-started/shake.md
deleted file mode 100644
index 37ba5731..00000000
--- a/docs/getting-started/shake.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Shake
-
-You can find when someone is shaking the @boardname@ by checking its
-**accelerometer** (it finds whether the @boardname@ is speeding up or
-slowing down).
-
-Unscramble these blocks in the editor to show a frownie when someone
-shakes the @boardname@. (Ouch!)
-
-```shuffle
-input.onGesture(Gesture.Shake, () => {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . . . .
-. # # # .
-# . . . #`);
-});
-```
-Click **Download** to move your program to the @boardname@!
-
-### ~button /getting-started/coin-flipper
-NEXT: COIN FLIPPER GAME
-### ~
diff --git a/docs/lessons.md b/docs/lessons.md
deleted file mode 100644
index b52d573f..00000000
--- a/docs/lessons.md
+++ /dev/null
@@ -1,67 +0,0 @@
-# Lessons
-
-### @description Lessons to teach computer science and coding.
-
-### @short Lessons
-
-### ~column
-
-## Beginner
-
-* [Beautiful Image](/lessons/beautiful-image), show a beautiful image with show LEDs
-* [Lucky 7](/lessons/lucky-7), show a number on the LED screen with show number
-* [Answering Machine](/lessons/answering-machine), show a text message with show string
-* [Game of Chance](/lessons/game-of-chance), show a text message with game over
-* [Smiley,](/lessons/smiley) smiley and frowney faces that transition on button pressed
-* [Magic Logo,](/lessons/magic-logo) show an image on logo up
-* [Snowflake Fall](/lessons/snowflake-fall), repeat a series of images with forever
-* [Screen Wipe](/lessons/screen-wipe), turn off the LEDs with clear screen
-* [Flashing Heart](/lessons/flashing-heart), display images with a pause
-* [Blink](/lessons/blink), turn an LED on and off with plot
-* [Night Light](/lessons/night-light), dim the LEDs with set brightness
-* [Game Counter](/lessons/game-counter), displays the player's score with score and add points to score
-* [Happy Birthday](/lessons/happy-birthday), create a popular song
-
-### ~
-
-### ~column
-
-## Intermediate
-
-* [Magic 8](/lessons/magic-8), a fortune teller game with the @boardname@
-* [Guess the Number](/lessons/guess-the-number), guess a random number with pick number
-* [Counter](/lessons/counter), display a number with a variable
-* [Love Meter](/lessons/love-meter), create a love meter with on pin pressed
-* [Truth or Dare](/lessons/truth-or-dare), a game that forces each player to reveal a secret or do something funny with if statement
-* [Spinner](/lessons/spinner), spin the arrow with multiple if statements
-* [Dice Roll](/lessons/dice-roll), spin with more if statements
-* [Looper](/lessons/looper), display a series of numbers with a for loop index
-* [Strobe Light](/lessons/strobe-light), develop shapes with a nested for loops
-* [Temperature](/lessons/temperature), get the ambient temperature (degree Celsius °C)
-* [Digi Yoyo](/lessons/digi-yoyo), create a counter with a while loop
-* [Rotation Animation](/lessons/rotation-animation), control an animation with a boolean variable
-* [Compass](/lessons/compass), displays the direction the @boardname@ is pointing with compass
-* [Zoomer](/lessons/zoomer), measure the force with acceleration
-* [Glowing Pendulum](/lessons/glowing-pendulum), construct a pendulum that glows using acceleration
-* [Classic Beatbox](/lessons/classic-beatbox), make a beatbox music player with variables
-
-### ~
-
-### ~column
-
-## Maker
-* [Pogo](/lessons/pogo), create a pogo game to test your jumping abilities
-
-## Science
-* [Charting](/lessons/charting), measure and chart acceleration
-* [Seismograph](/lessons/seismograph), create a seismograph with household items
-
-## Advanced
-* [Prank WiFi](/lessons/prank-wifi), create fake WiFi to trick your friends
-* [Speed Button](/lessons/speed-button), code a speed game with running time
-* [Headbands](/lessons/headbands), create a charades game with a collection of strings that hold the words
-* [Hero](/lessons/hero), reconstruct the classic arcade game pac man with the @boardname@
-* [Catch the Egg](/lessons/catch-the-egg-game), catch falling eggs in a basket with an acceleration controller
-### ~
-
-### @section full
diff --git a/docs/lessons/answering-machine.md b/docs/lessons/answering-machine.md
deleted file mode 100644
index 50204cdc..00000000
--- a/docs/lessons/answering-machine.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# answering machine blocks lesson
-
-Create an answering machine on the @boardname@
-
-## Topic
-
-Show String
-
-## Quick Links
-
-* [activity](/lessons/answering-machine/activity)
-* [quiz](/lessons/answering-machine/quiz)
-* [quiz answers](/lessons/answering-machine/quiz-answers)
-* [challenges](/lessons/answering-machine/challenges)
-
-
-## Prior learning / place of lesson in scheme of work
-
-Learn how to creating a message with a **string**, `show string` to write your message. We will be learning how to create a message using simple commands, such as show string and on button pressed.
-
-## Documentation
-
-```cards
-basic.showString('Hi!')
-input.onButtonPressed(Button.A, () => {})
-```
-
-## Objectives
-
-* learn how to show a string on the LED screen one character at a time
-* learn how to use to register an event handler that will execute whenever an input button is pressed
-
diff --git a/docs/lessons/answering-machine/activity.md b/docs/lessons/answering-machine/activity.md
deleted file mode 100644
index 37b93a06..00000000
--- a/docs/lessons/answering-machine/activity.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# answering machine blocks activity
-
-Learn to create an answering machine on the @boardname@
-
-### ~avatar avatar
-
-
-Let's learn how to create an answering machine!
-
-### ~
-
-We will use `show string` to show text on the LED screen. *String* is a common name for *text* in programming languages. The function `show string` scrolls the text column by column at a *150* milliseconds interval.
-
-```blocks
-basic.showString("ASK ME A QUESTION")
-```
-
-### ~avatar boothing
-
-Excellent, you're ready to continue with the [challenges](/lessons/answering-machine/challenges)!
-
-### ~
-
diff --git a/docs/lessons/answering-machine/challenges.md b/docs/lessons/answering-machine/challenges.md
deleted file mode 100644
index 0befc10d..00000000
--- a/docs/lessons/answering-machine/challenges.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# answering machine blocks challenges
-
-Coding challenges for the answering machine tutorial.
-
-## Before we get started
-
-Complete the [answering machine](/lessons/answering-machine/activity) activity and your code will look like this:
-
-```blocks
-basic.showString("ASK ME A QUESTION")
-```
-
-### Challenge 1
-
-Now we need to reply after someone asks @boardname@ a yes or no question. We want to respond `YES` when button `A` is pressed. Add a condition for button `A` and inside it show the string `YES`.
-
-```blocks
-basic.showString("ASK ME A QUESTION")
-input.onButtonPressed(Button.A, () => {
- basic.showString("Yes")
-})
-```
-
-* `Run` the code to see if it works as expected.
-
-### Challenge 2
-
-What if @boardname@'s answer to the question is no? Let's have `NO` be displayed when button `B` is pressed. Add a condition for button `B` and inside it show the string `NO`.
-
-```blocks
-basic.showString("ASK ME A QUESTION")
-input.onButtonPressed(Button.A, () => {
- basic.showString("Yes")
-})
-input.onButtonPressed(Button.B, () => {
- basic.showString("NO")
-})
-
-```
-
-* `Run` the code to see if it works as expected.
-
-### Challenge 3
-
-When you are asked a yes or no question, do you always say yes or no? Add a condition for `on shake` that displays `MAYBE`.
\ No newline at end of file
diff --git a/docs/lessons/answering-machine/quiz-answers.md b/docs/lessons/answering-machine/quiz-answers.md
deleted file mode 100644
index 1cbc2cbe..00000000
--- a/docs/lessons/answering-machine/quiz-answers.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# answering machine blocks quiz answers
-
-Create an answering machine on the @boardname@.
-
-This is the answer key for the [answering machine quiz](/lessons/answering-machine/quiz).
-
-## 1. Define what `show string` does?
-
-Answers may vary. This is a function that will show a string on the LED screen one character at a time (scrolling from left to right).
-
-## 2. Draw which LED is ON after running this code
-
-```blocks
-basic.showString("Y")
-```
-
-![](/static/mb/lessons/answering-machine-0.png)
-
-## 3. Draw which LED is ON after running this code
-
-
-```blocks
-basic.showString("Hi")
-```
-
-![](/static/mb/lessons/answering-machine-1.png)
-
-
-## 4. If the rectangle below represents the @boardname@, write the code to display the letter "Z".
-
-![](/static/mb/lessons/answering-machine-2.png)
-
-
-```blocks
-basic.showString("Z")
-```
-
-
diff --git a/docs/lessons/answering-machine/quiz.md b/docs/lessons/answering-machine/quiz.md
deleted file mode 100644
index 9a6450e6..00000000
--- a/docs/lessons/answering-machine/quiz.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# answering machine blocks quiz
-
-Create an answering machine on the @boardname@.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [answering machine activity](/lessons/answering-machine/activity).
-
-Answer the questions while completing the activity. Pay attention to the dialogues!
-
-## 1. Define what `show string` does?
-
-
-
-## 2. Draw which LED is ON after running this code
-
-
-```blocks
-basic.showString("Y")
-
-```
-
-![](/static/mb/empty-microbit.png)
-
-
-## 3. Draw which LED is ON after running this code
-
-
-```blocks
-basic.showString("Hi")
-
-```
-
-
-![](/static/mb/lessons/answering-machine-4.png)
-
-## 4. If the rectangle below represents the @boardname@, write the code to display the letter "Z".
-
-```blocks
-basic.showString("Z")
-
-```
-
-
diff --git a/docs/lessons/beautiful-image.md b/docs/lessons/beautiful-image.md
deleted file mode 100644
index a10563bc..00000000
--- a/docs/lessons/beautiful-image.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# beautiful image lesson
-
-Display beautiful images on the @boardname@.
-
-## Topic
-
-Show LEDs
-
-## Quick Links
-
-* [activity](/lessons/beautiful-image/activity)
-* [challenges](/lessons/beautiful-image/challenges)
-
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to **show LEDs**, to show an image on the @boardname@'s LED screen. We will be learning how to Show LEDs using simple commands such as Show LEDs and pause.
-
-## Documentation
-
-```cards
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-basic.pause(100)
-```
-
-## Objectives
-
-* learn how to display an image on the @boardname@'s LED screen
-* learn how to pause your code for the specified number of milliseconds
-
diff --git a/docs/lessons/beautiful-image/activity.md b/docs/lessons/beautiful-image/activity.md
deleted file mode 100644
index fcfc0e1a..00000000
--- a/docs/lessons/beautiful-image/activity.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# beautiful image blocks activity
-
-Generate and show a beautiful image.
-
-### ~avatar avatar
-
-Let's learn how to show an image on the LED screen.
-
-### ~
-
-We will use *show LEDs* to draw an image on the LED screen. This function immediately writes on the screen.
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # . # #
- # . # . #
- # # . # #
- # # # # #
- `)
-```
-
-### ~avatar boothing
-
-Excellent, you're ready to continue with the [challenges](/lessons/beautiful-image/challenges)!
-
-### ~
-
diff --git a/docs/lessons/beautiful-image/challenges.md b/docs/lessons/beautiful-image/challenges.md
deleted file mode 100644
index 26738602..00000000
--- a/docs/lessons/beautiful-image/challenges.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# beautiful image blocks challenges
-
-Coding challenges for the beautiful image tutorial.
-
-## Before we get started
-
-Complete the [beautiful image](/lessons/beautiful-image/activity) activity and your code will look like this:
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # . # #
- # . # . #
- # # . # #
- # # # # #
- `)
-```
-
-### Challenge 1
-
-Now show an new image that will display on the @boardname@.
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # . # #
- # . # . #
- # # . # #
- # # # # #
- `)
-basic.showLeds(`
- # . # . #
- . # # # .
- . . # . .
- . # # # .
- # . # . #
- `)
-```
-
-* Does your code work as expected?
-
-### Challenge 2
-
-Nice job! Why don't we create a third image that will show after the other two?
-
diff --git a/docs/lessons/beautiful-image/tutorial.md b/docs/lessons/beautiful-image/tutorial.md
deleted file mode 100644
index 9b097b83..00000000
--- a/docs/lessons/beautiful-image/tutorial.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# beautiful image blocks challenges
-
-Beautiful Image tutorial.
-
-### ~avatar avatar
-
-### @video td/videos/beautiful-image-0
-
-Rebuild the game!
-
-The blocks have been shuffled! Put them back together so that…
-
-* display images on the screen with show LEDs
-
-
-```shuffle
-basic.showLeds(`
- # # # # #
- # # . # #
- # . # . #
- # # . # #
- # # # # #
- `)
-basic.showLeds(`
- # . # . #
- . # # # .
- . . # . .
- . # # # .
- # . # . #
- `)
-basic.pause(100)
-```
-
-Hints and tips
-
-Cut out these documentation cards to help you!
-
-```cards
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-basic.pause(100)
-
-```
\ No newline at end of file
diff --git a/docs/lessons/blink.md b/docs/lessons/blink.md
deleted file mode 100644
index 7e4bd017..00000000
--- a/docs/lessons/blink.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# blink blocks lesson
-
-Learn how to create a blinking LED.
-
-## Topic
-
-Plot
-
-## Quick links
-
-* [activity](/lessons/blink/activity)
-* [quiz](/lessons/blink/quiz)
-* [quiz answers](/lessons/blink/quiz-answers)
-* [challenges](/lessons/blink/challenges)
-
-
-## Prior learning / place of lesson in scheme of work
-
-Learn how to control a blinking LED. We will be learning how to create a blinking app using forever as well as simple commands, such as plot, unplot and pause.
-
-
-## Documentation
-
-```cards
-led.plot(0, 0)
-led.unplot(0, 0)
-basic.pause(100)
-basic.forever(() => {})
-```
-
-## Objectives
-
-* learn how to turn on LED lights on the LED screen
-* learn how to turn off LED lights on the LED screen
-* learn how to pause program execution for the specified number of milliseconds
-
diff --git a/docs/lessons/blink/activity.md b/docs/lessons/blink/activity.md
deleted file mode 100644
index b9ef94bb..00000000
--- a/docs/lessons/blink/activity.md
+++ /dev/null
@@ -1,61 +0,0 @@
-# blink blocks activity
-
-Turn an LED on and off with forever
-
-### ~avatar avatar
-
-```sim
-basic.forever(() => {
- led.plot(2, 2)
- basic.pause(500)
- led.unplot(2, 2)
- basic.pause(500)
-})
-```
-Let's build a blinking light!
-
-### ~
-
-Have you ever tried to blink a flashlight at night? The concept is fairly simply: turn on the light, wait for a little, turn off the light, wait again, and repeat. That's exactly what we need to code to get a blinking LED.
-
-Let's start by adding a line of code that turns on the LED at position 2, 2.
-
-```blocks
-led.plot(2, 2)
-```
-
-Run your script to make sure it's correct. Then, let's add code to `pause` 500 milliseconds and turn off the LED.
-
-```blocks
-led.plot(2, 2)
-basic.pause(500)
-led.unplot(2,2)
-```
-
-We've got the LED blinking once. Let's add another pause and turn on the LED again.
-
-```blocks
-led.plot(2, 2)
-basic.pause(500)
-led.unplot(2, 2)
-basic.pause(500)
-led.plot(2, 2)
-```
-
-The current code works but it only blinks once! We are going to use a `forever` loop and move the code inside it to repeat it forever. We've dropped the second `plot` line since we don't need it in the loop.
-
-```blocks
-basic.forever(() => {
- led.plot(2, 2)
- basic.pause(500)
- led.unplot(2, 2)
- basic.pause(500)
-})
-```
-
-### ~avatar boothing
-
-Excellent, you're ready to continue with the [challenges](/lessons/blink/challenges)!
-
-### ~
-
diff --git a/docs/lessons/blink/challenges.md b/docs/lessons/blink/challenges.md
deleted file mode 100644
index 63bdb9ec..00000000
--- a/docs/lessons/blink/challenges.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# blink blocks challenges
-
-Coding challenges for the blink tutorial
-
-## Before we get started
-
-Complete the [blink](/lessons/blink/activity) activity and your code will look like this:
-
-```blocks
-basic.forever(() => {
- led.plot(2, 2)
- basic.pause(500)
- led.unplot(2, 2)
- basic.pause(500)
-})
-```
-
-### Challenge 1
-
-Let's display a "smiley face" on the screen! We'll start by plotting the eyes.
-
-Add `plot(1,1)` and `plot(3,1)` under `plot(2,2)` ; then add `unplot(1,1)`, `unplot(3,1)` and `unplot(2,2)` after `pause`. When you're ready, don't forget to run your code to try it out!
-
-```blocks
-basic.forever(() => {
- led.plot(2, 2)
- led.plot(1, 1)
- led.plot(3, 1)
- basic.pause(500)
- led.unplot(2, 2)
- led.unplot(1, 1)
- led.unplot(3, 1)
- basic.pause(500)
-})
-```
-
-### Challenge 2
-
-Let's add the code to plot the mouth by using `plot` and `unplot` to the following coordinates: (1,4), (2,4) and (3,4). When you're ready, don't forget to run your code to try it out!
-
-```blocks
-basic.forever(() => {
- led.plot(2, 2)
- led.plot(1, 1)
- led.plot(3, 1)
- led.plot(1, 4)
- led.plot(2, 4)
- led.plot(3, 4)
- basic.pause(500)
- led.unplot(2, 2)
- led.unplot(1, 1)
- led.unplot(3, 1)
- led.unplot(1, 4)
- led.unplot(2, 4)
- led.unplot(3, 4)
- basic.pause(500)
-})
-```
-
-### Challenge 3
-
-Let's keep using `plot` to convert the mouth into a smiley face.
-
-```` bitmatrix
-0 0 0 0 0
-0 1 0 1 0
-0 0 1 0 0
-1 0 0 0 1
-0 1 1 1 0
-````
-
-### Challenge 4
-
-Let's make it blink a bit faster. To do so, we need to reduce the amount of time used in ``pause`` to 100 milliseconds.
-
-### Challenge 5
-
-Create your own image by changing the coordinates in `plot` and `unplot`!
-
diff --git a/docs/lessons/blink/quiz-answers.md b/docs/lessons/blink/quiz-answers.md
deleted file mode 100644
index 706d3f5e..00000000
--- a/docs/lessons/blink/quiz-answers.md
+++ /dev/null
@@ -1,49 +0,0 @@
-# blink blocks quiz answers
-
-Learn how to create a blinking LED script.
-
-This is the answer key for the [blink quiz](/lessons/blink/quiz).
-
-## 1. Describe what `plot` does?
-
-Answers will vary. In general, plot refers to the code that turns on a specific LED. We specify the LED using x, y coordinates.
-
-## 2. Draw which LED is ON after running this code
-
-```blocks
-led.plot(2, 2)
-
-```
-
-![](/static/mb/lessons/blink-0.png)
-
-By default, the position of an LED on *Blink Tutorial* is set to the centre of the screen. This code turns on the centre LED
-
-## 3. Draw which LED is ON after running this code
-
-```blocks
-led.plot(0, 0)
-
-```
-
-![](/static/mb/lessons/blink-1.png)
-
-This code turns on specific LED. Plot turns on the specified LED on the LED screen. We specify the LED using x, y coordinates.
-
-* ``x`` - the x coordinate or horizontal position (0)
-* ``y`` - the y coordinate or vertical position (0)
-
-## 4. Draw which LED is ON after running this code
-
-```blocks
-led.plot(4, 4)
-
-```
-
-![](/static/mb/lessons/blink-2.png)
-
-This code turns on specific LED. Plot turns on the specified LED on the LED screen. We specify the LED using ``x``, ``y`` coordinates.
-
-* ``x`` - the x coordinate or horizontal position (4)
-* ``y`` - the y coordinate or vertical position (4)
-
diff --git a/docs/lessons/blink/quiz.md b/docs/lessons/blink/quiz.md
deleted file mode 100644
index d0998f75..00000000
--- a/docs/lessons/blink/quiz.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# blink blocks quiz
-
-Learn how to create a blinking LED script.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [blink activity](/lessons/blink/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Describe what `plot` does?
-
-
-
-## 2. Draw which LED is ON after running this code
-
-```blocks
-led.plot(2, 2)
-
-```
-
-![](/static/mb/empty-microbit.png)
-
-## 3. Draw which LED is ON after running this code
-
-```blocks
-led.plot(0, 0)
-
-```
-
-![](/static/mb/empty-microbit.png)
-
-## 4. Draw which LED is ON after running this code
-
-
-```blocks
-led.plot(4, 4)
-
-```
-
-
-![](/static/mb/empty-microbit.png)
-
diff --git a/docs/lessons/blocks-conditions.md b/docs/lessons/blocks-conditions.md
deleted file mode 100644
index 59a61977..00000000
--- a/docs/lessons/blocks-conditions.md
+++ /dev/null
@@ -1,62 +0,0 @@
-# blocks - if statements
-
-An introduction to conditions for the Block Editor.
-
-## Introduction to conditions
-
-In the introduction to code, we made the @boardname@ automatically shows the message ‘hello world!’:
-
-```blocks
-basic.showString("hello world!")
-```
-
-This statement, or code, will happen as soon as the @boardname@ is activated. This means it is unconditional. We can add a condition to make code function in certain ways:
-
-* A calculator waits for the user in input numbers and a function, before outputting a result
-* A game waits for the user to press a button at the right time before outputting their score
-* A quiz waits for the user to choose the correct option, and if they are wrong the quiz will tell the user
-
-In programming we use an ‘if’ statement: if this condition is met, do something. Lets add an if statement to the code we had before; the @boardname@ will wait for the user to press a button before showing the image.
-
-```blocks
-basic.forever(() => {
- if (input.buttonIsPressed(Button.A)) {
- basic.showString("hello world!")
- }
-})
-```
-
-Again, test the code in the simulator. Try clicking **Button A** to display the "hello, world!" message every time the `button is pressed`.
-
-### More 'if' statements
-
-You could now add additional conditions to your 'if statement'. Here are some ideas:
-
-* Change the 'get button' to ask for button B
-* Add another 'if' statement within the current one, and make it so both buttons must be pressed to show the message
-* Create a mini quiz that asks for one button to be pressed which represents an answer
-
-## Else
-
-What if the user does not press a button? What if the user presses the wrong button? We call this an else, because if the criteria of the if statement are not met then something else is done.
-
-For example, we could make it so our @boardname@ tells us to press the A button. Remove the `button pressed` and `show string` blocks from the `if` block and right click it and select **Delete**. Now click the **If** category and drag out an `else if` block. Plug the `button pressed` and `show string` blocks in the correct places.
-
-We want the message "Press A!" to scroll across the @boardname@, so right-click the `show string` block and select **Duplicate**. Drag this new block into the `else` section and replace the “hello, world!” with "Press A!". Your code should look like this:
-
-```blocks
-basic.forever(() => {
- if (input.buttonIsPressed(Button.A)) {
- basic.showString("hello world!")
- } else {
- basic.showString("PRESS A")
- }
-})
-```
-
-So, to recap: the `forever` block makes sure our code runs forever. The @boardname@ checks if the user is pressing the left button, if the user is not then the “Press the button!” message will scroll across the LEDs. If the user is pressing the button then the “hello, world!” message will scroll across the screen. Check this in the simulator or attach the @boardname@ to the computer then click **Download** to send the code onto the @boardname@.
-
-## What is a condition?
-
-A condition is criteria that the user must meet for a certain function to be carried out.
-
diff --git a/docs/lessons/bop-it/activity.md b/docs/lessons/bop-it/activity.md
deleted file mode 100644
index 15e63b9e..00000000
--- a/docs/lessons/bop-it/activity.md
+++ /dev/null
@@ -1,86 +0,0 @@
-# bop it challenges
-
-a game similar to "Simon Says" with the @boardname@.
-
-## Before we get started
-
-Complete the following guided tutorial. Your code should look like this:
-
-```typescript
-let action = 0;
-function newAction() {}
-input.onButtonPressed(Button.A, () => {
- if (action == 0) {
- game.addScore(1);
- newAction();
- }
-})
-input.onLogoDown(() => {
- if (action == 1) {
- game.addScore(1);
- newAction();
- }
-})
-input.onGesture(Gesture.Shake, () => {
- if (action == 2) {
- game.addScore(1);
- newAction();
- }
-})
-input.onButtonPressed(Button.B, () => {
- basic.showNumber(game.score(), 150);
- basic.pause(2000);
- newAction();
-})
-```
-
-### Challenge 1
-
-Now let's add some more types of instructions for the player to follow. Let's add `PRESS PIN 0`.
-Change the global variable `action` to `math->random(4)` so that we can add a new **IF** statement that checks if `action=3`. If it does, display instructions to press pin 0.
-
-```typescript
-let action = 0;
-export function newAction() {
- action = Math.random(4)
- if (action == 0) {
- basic.showString("PUSH A", 150) // ***
- }
- if (action == 1) {
- basic.showString("LOGO DOWN", 150) // ***
- }
- if (action == 2) {
- basic.showString("SHAKE", 150) // ***
- }
- if (action == 3) {
- basic.showString("PRESS PIN 0", 150) // ***
- }
-}
-```
-
-### Challenge 2
-
-Now let's implement `PRESS PIN 0` in the main. Create a condition of `input->on pin pressed("P0")` that will add one to the score and calls the method `new action`.
-
-```typescript
-let action = 0;
-export function newAction() {
- // ...
-}
-input.onButtonPressed(Button.B, () => {
- basic.showNumber(game.score(), 150)
- basic.pause(2000)
- newAction()
-})
-input.onPinPressed(TouchPin.P0, () => {
- if (action == 3) {
- game.addScore(1)
- newAction()
- }
-})
-```
-
-### Challenge 3
-
-Add `POINT ME NORTH` to the list of possible commands.
-
diff --git a/docs/lessons/bop-it/quiz-answers.md b/docs/lessons/bop-it/quiz-answers.md
deleted file mode 100644
index 73b09b56..00000000
--- a/docs/lessons/bop-it/quiz-answers.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# bop it quiz answers
-
-a game where you have to keep up with the commands.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [bop it activity](/lessons/bop-it/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Write the code that will store the global variable named 'action' and returns a random number between 0 and 2
-
-```blocks
-let action = Math.random(3)
-```
-
-## 2. Write the code that will display the string, "PUSH A" if the global variable called 'action' is equal to 0
-
-```blocks
-let action = Math.random(3)
-if (action == 0) {
- basic.showString("PUSH A", 150)
-}
-```
-
-## 3. Write the code that increments the score if button A is pressed when the global variable called 'action' is equal to 1
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- let action = Math.random(3)
- if (action == 0) {
- game.addScore(1)
- }
-})
-```
-
-## 4. Write the code that will display the string "LOGO DOWN" if the global variable called 'action' is equal to 1
-
-```blocks
-let action = Math.random(3)
-if (action == 1) {
- basic.showString("LOGO DOWN", 150)
-}
-```
-
-## 5. Write the code that increments the score if the @boardname@ logo is tilted down when the global variable called 'action' is equal to 1
-
-```blocks
-input.onLogoDown(() => {
- let action = Math.random(3)
- if (action == 1) {
- game.addScore(1)
- }
-})
-```
-
-## 6. Write the code that will display the string "SHAKE" if the global variable called 'action' is equal to 2
-
-```blocks
-let action = Math.random(3)
-if (action == 2) {
- basic.showString("SHAKE", 150)
-}
-```
-
-## 7. Write the code that increments the score if the @boardname@ is shaken when the global variable called 'action' is equal to 2
-
-```blocks
-input.onLogoDown(() => {
- let action = Math.random(3)
- if (action == 1) {
- game.addScore(1)
- }
-})
-```
diff --git a/docs/lessons/bop-it/quiz.md b/docs/lessons/bop-it/quiz.md
deleted file mode 100644
index 5c4f1df5..00000000
--- a/docs/lessons/bop-it/quiz.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# bop it quiz
-
-a game where you have to keep up with the commands.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [bop it activity](/lessons/bop-it/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-### 1. Write the code that will store the global variable named 'action' and returns a random number between 0 and 2
-
-
-
-### 2. Write the code that will display the string, "PUSH A" if the global variable called 'action' is equal to 0
-
-
-
-### 3. Write the code that increments the score if button A is pressed when the global variable called 'action' is equal to 1
-
-
-
-### 4. Write the code that will display the string "LOGO DOWN" if the global variable called 'action' is equal to 1
-
-
-
-### 5. Write the code that increments the score if the @boardname@ logo is tilted down when the global variable called 'action' is equal to 1
-
-
-
-### 6. Write the code that will display the string "SHAKE" if the global variable called 'action' is equal to 2
-
-
-
-### 7. Write the code that increments the score if the @boardname@ is shaken when the global variable called 'action' is equal to 2
-
diff --git a/docs/lessons/catch-the-egg-game.md b/docs/lessons/catch-the-egg-game.md
deleted file mode 100644
index 3ae81c25..00000000
--- a/docs/lessons/catch-the-egg-game.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# catch the egg game lesson
-
-A game to catch eggs in a basket.
-
-## Topic
-
-Variables
-
-## Quick Links
-
-* [activity](/lessons/catch-the-egg-game/activity)
-* [tutorial](/lessons/catch-the-egg-game/tutorial)
-* [quiz](/lessons/catch-the-egg-game/quiz)
-* [quiz answers](/lessons/catch-the-egg-game/quiz-answers)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to create a catch the egg game game with **plot**, `led->plot` , **unplot**, `led->unplot`, and **acceleration** `input -> acceleration` to turn on and off LED lights on the LED screen. We will be learning how to create a catch the egg game app using global variables, forever loop, local variable, input acceleration, math min, math max, math random, math mod, if (conditionals), game library as well as simple commands, such as led plot, led unplot, and pause.
-
-## Documentation
-
-```cards
-let x = 2;
-led.unplot(0, 0);
-basic.forever(() => {});
-x += 1;
-led.plot(0, 0);
-basic.pause(300);
-input.acceleration(Dimension.X);
-Math.min(0,0);
-Math.max(0,1);
-Math.random(5);
-game.addScore(1);
-game.score();
-game.removeLife(1);
-```
-
-## Objectives
-
-* learn how to create a variable as a place where you can store data so that you can use it later in your code, accessible across functions and in nested code blocks
-* learn how to repeat code in the background forever
-* learn how to turn off a LED light on the LED screen
-* learn how to turn on a LED light on the LED screen
-* learn how to learn how to conditionally run code depending on whether a condition is true or not
-* learn how to learn how to get the acceleration value (g-force), in one of three specified dimensions
-* learn how to return the smaller of two numbers
-* learn how to return the larger of two numbers
-* learn how to return a random number
-* learn how to return the modulus
-* learn how to show a number of the @boardname@ screen
-* learn how to pause your code for the specified number of milliseconds
diff --git a/docs/lessons/catch-the-egg-game/activity.md b/docs/lessons/catch-the-egg-game/activity.md
deleted file mode 100644
index ea0f7b50..00000000
--- a/docs/lessons/catch-the-egg-game/activity.md
+++ /dev/null
@@ -1,148 +0,0 @@
-# catch the egg game challenges
-
-## Before we get started
-
-Your starting code should look like this:
-
-```blocks
-let basketX = 2
-let eggX = 2
-let eggY = 0
-basic.forever(() => {
- led.unplot(basketX, 4)
- led.unplot(eggX, eggY)
- eggY = eggY + 1
- led.plot(eggX, eggY)
- basic.pause(300)
- let accX = input.acceleration(Dimension.X)
- basketX = 2 + Math.min(2, Math.max(-2, accX / 200))
- led.plot(basketX, 4)
- if (eggY > 4) {
- eggY = -1
- eggX = Math.random(5)
- }
- basic.pause(300)
-})
-```
-
-### ~avatar avatar impressed
-
-### Challenge 1
-
-Let's use an **IF** statement to detect if the egg and the basket are lined up.
-
-Now that we know when an egg is caught, we can keep track of the score! We need to use the `add score` function built into the game library to add `1` point for every egg that is caught. However, let's not forget to `remove life` if an egg falls off the display before it's caught!
-
-### ~
-
-```blocks
-let basketX1 = 2
-let eggX1 = 2
-let eggY1 = 0
-basic.forever(() => {
- led.unplot(basketX1, 4)
- led.unplot(eggX1, eggY1)
- eggY1 = eggY1 + 1
- led.plot(eggX1, eggY1)
- basic.pause(300)
- let accX = input.acceleration(Dimension.X)
- basketX1 = 2 + Math.min(2, Math.max(-2, accX / 200))
- led.plot(basketX1, 4)
- if (eggY1 > 4) {
- eggY1 = -1
- eggX1 = Math.random(5)
- }
- if (eggY1 == 4) {
- if (basketX1 == eggX1) {
- game.addScore(1)
- } else {
- game.removeLife(1)
- }
- }
- basic.pause(300)
-})
-```
-
-* Press the `run` button to test out your game.
-
-### ~avatar avatar encourage
-
-### Challenge 2
-
-Catching eggs gets easier with practice so let's make the eggs fall faster every 5 catches. We can do this by tracking how long the egg pauses in each position while falling with a global variable called **falling pause**. Let's create this variable and set it to `300` initially. Don't forget to also create a condition that will be true every 5 catches.
-
-### ~
-
-```blocks
-let basketX2 = 2
-let eggX2 = 2
-let eggY2 = 0
-let fallingPause = 300 // ***
-basic.forever(() => {
- led.unplot(basketX2, 4)
- led.unplot(eggX2, eggY2)
- eggY2 = eggY2 + 1
- led.plot(eggX2, eggY2)
- basic.pause(300)
- let accX2 = input.acceleration(Dimension.X)
- basketX2 = 2 + Math.min(2, Math.max(-2, accX2 / 200))
- led.plot(basketX2, 4)
- if (eggY2 > 4) {
- eggY2 = -1
- eggX2 = Math.random(5)
- }
- if (eggY2 == 4) {
- if (basketX2 == eggX2) {
- game.addScore(1)
- if (game.score() %5 == 0) {
- }
- } else {
- game.removeLife(1)
- }
- }
- basic.pause(300)
-})
-```
-
-### ~avatar avatar surprised
-
-### Challenge 3
-
-Let's make the egg fall faster by decreasing the amount of time it pauses in each position by decreasing **falling pause** by `25` every 5 catches. Now, instead of pausing for 300 milliseconds we can pause for the value of **falling pause**.
-
-```blocks
-let basketX3 = 2
-let eggX3 = 2
-let eggY3 = 0
-let fallingPause1 = 300
-basic.forever(() => {
- led.unplot(basketX3, 4)
- led.unplot(eggX3, eggY3)
- eggY3 = eggY3 + 1
- led.plot(eggX3, eggY3)
- basic.pause(300)
- let accX3 = input.acceleration(Dimension.X)
- basketX3 = 2 + Math.min(2, Math.max(-2, accX3 / 200))
- led.plot(basketX3, 4)
- if (eggY3 > 4) {
- eggY3 = -1
- eggX3 = Math.random(5)
- }
- if (eggY3 == 4) {
- if (basketX3 == eggX3) {
- game.addScore(1)
- if (game.score()% 5 == 0) {
- fallingPause1 = fallingPause1 - 25 // ***
- }
- } else {
- game.removeLife(1)
- }
- }
- basic.pause(fallingPause1)
-})
-
-```
-
-Fantastic! Your game is now ready to show off.
-
-* Press the `run` button to see your finished game!
diff --git a/docs/lessons/catch-the-egg-game/quiz-answers.md b/docs/lessons/catch-the-egg-game/quiz-answers.md
deleted file mode 100644
index 265b8706..00000000
--- a/docs/lessons/catch-the-egg-game/quiz-answers.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# catch the egg game quiz answers
-
-Programming a game of catch the egg using the accelerometer
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [catch the egg activity](/lessons/catch-the-egg-game/activity)
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Write the data type for the global variables 'basket' and 'egg'.
-
-
-
-'Basket' and 'egg' are stored as **Number**.
-
-## 2. Write the code to plot the initial position of the egg and the basket using the variables 'egg x', 'egg y', and 'basket x'. The code should arrange the egg and basket as shown below.
-
-![](/static/mb/lessons/catch-the-egg-game-0.png)
-
-
-
-```blocks
-let basketX = 2
-let eggX = 2
-let eggY = 0
-led.plot(eggX, eggY)
-led.plot(basketX, 4)
-```
-
-## 3. Write the three lines of code that moves the egg down. (You need to unplot the egg's current position, update its position variables, and plot its new position.
-
-
-
-```blocks
-let basketX = 2
-let eggX = 2
-let eggY = 0
-led.unplot(eggX, eggY)
-eggY = eggY + 1
-led.plot(eggX, eggY)
-```
-
-## 4. . Write the code that resets the egg after it has fallen past the bottom of the @boardname@.
-
-
-
-```blocks
-let eggX = 2
-let eggY = 0
-if (eggY > 4) {
- eggY = -1
- eggX = Math.random(5)
-}
-```
-
diff --git a/docs/lessons/catch-the-egg-game/quiz.md b/docs/lessons/catch-the-egg-game/quiz.md
deleted file mode 100644
index bcd13a77..00000000
--- a/docs/lessons/catch-the-egg-game/quiz.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# catch the egg game quiz
-
-Programming a game of catch the egg using the accelerometer.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [catch the egg challenges](/lessons/catch-the-egg-game/activity)
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Write the data type for the variables 'basket' and 'egg'.
-
-
-
-## 2. Write the code to plot the initial position of the egg and the basket using the variables 'egg x', 'egg y', and 'basket x'. The code should arrange the egg and basket as shown below.
-
-![](/static/mb/lessons/catch-the-egg-game-0.png)
-
-
-
-## 3. Write the three lines of code that moves the egg down. (You need to unplot the egg's current position, update its position variables, and plot its new position.
-
-
-
-## 4. Write the code that resets the egg after it has fallen past the bottom of the @boardname@.
-
-
-
diff --git a/docs/lessons/catch-the-egg-game/tutorial.md b/docs/lessons/catch-the-egg-game/tutorial.md
deleted file mode 100644
index 3c805b86..00000000
--- a/docs/lessons/catch-the-egg-game/tutorial.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# catch the egg game tutorial
-
-### Rebuild the game!
-
-The blocks have been shuffled! Put them back together so that...
-* an egg LED falls from the top of the screen, row by row.
-* a basket LED is on the bottom row and can be moved by using the accelerometer `X` data.
-* if the egg LED reaches the last row, reset the egg position to the first row.
-
-```shuffle
-let basketX = 2
-let eggX = 2
-let eggY = 0
-basic.forever(() => {
- led.unplot(basketX, 4)
- led.unplot(eggX, eggY)
- eggY = eggY + 1
- led.plot(eggX, eggY)
- basic.pause(300)
- let accX = input.acceleration(Dimension.X)
- basketX = 2 + Math.min(2, Math.max(-2, accX / 200))
- led.plot(basketX, 4)
- if (eggY > 4) {
- eggY = -1
- eggX = Math.random(5)
- }
- basic.pause(300)
-})
-```
diff --git a/docs/lessons/charting.md b/docs/lessons/charting.md
deleted file mode 100644
index ce848926..00000000
--- a/docs/lessons/charting.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# charting lesson
-
-Create a charting app for simulating and measuring the acceleration applied to the @boardname@
-
-## Topic
-
-Acceleration
-
-## Quick Links
-* [activity](/lessons/charting/activity)
-* [challenge](/lessons/charting/challenge)
-* [quiz](/lessons/charting/quiz)
-* [answers](/lessons/charting/quiz-answers)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn the functions of **on data received**, **send number** and **receive number** and chart `plot bar graph` for `acceleration` in the "x" dimension.
-
-## Documentation
-
-```cards
-input.acceleration(Dimension.X)
-led.plotBarGraph(0, 1023)
-basic.showNumber(0)
-radio.onDataPacketReceived(() => {})
-radio.sendNumber(0)
-```
-
-## Objectives
-
-* learn how to repeat code in the background forever
-* learn how to get the acceleration value (g-force), in one of three specified dimensions
-* learn how to display a vertical bar graph based on the value and high value.
-* learn how to register code to run when a packet is received over radio
-* learn how to broadcast a number data packet to other @boardname@s connected via radio
-* learn how to read the next radio packet as a number data packet
diff --git a/docs/lessons/charting/activity.md b/docs/lessons/charting/activity.md
deleted file mode 100644
index d13341e0..00000000
--- a/docs/lessons/charting/activity.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# Activity
-
-Measure the acceleration on the @boardname@ in the "x" direction.
-
-### ~avatar avatar
-
-Welcome! This activity will teach how to use the @boardname@ to chart the acceleration in the "x" direction. Let's get started!
-
-
-### ~
-Let's measure `acceleration (mg)` in the "x" direction. Get the acceleration value (milli g-force), in one of three specified dimensions.
-
-
-```blocks
-input.acceleration(Dimension.X)
-```
-
-### ~
-Use the plot bar chart to visualize the acceleration on the LED screen of the @boardname@ in the specified range. You implement plot Bar Graph to display a vertical bar graph based on the "value" and "high" value. Then you must insert acceleration in the X dimension to measure the acceleration.
-
-```blocks
-basic.forever(() => {
- led.plotBarGraph(input.acceleration(Dimension.X), 0)
-})
-
-```
-
-### ~
-Notice that moving the @boardname@ in the simulator from left to right (x direction) changes the values beneath the @boardname@ in a range from 1023 to -1023 as measured in milli-gravities. By hovering over the @boardname@ from left to right, you can observe changing values beneath the @boardname@ simulator. Also, the LEDs shown on the Bar Graph fluctates based on the movement of the @boardname@ simulator in the x direction. The line underneath the @boardname@ simulator reflect the acceleration in the x direction.
-
-NOTE: The colors of the charts reflect the color of the @boardname@ simulator. In this instance, the @boardname@ is yellow. So the color of the data line reflects the color of the @boardname@
-
-![](/static/mb/data4.png)
-
-### ~
-
-Vigorously move the @boardname@ in the @boardname@ simulatator by moving the @boardname@ image from side to side. Every time the @boardname@ moves in the x direction in the simulator, you are generating data points that can be reviewed in Excel. The more attempts to move the @boardname@ from side to side, the more data being saved in Excel. After you have vigarously moved the @boardname@ simulator from side to side for a sufficient amount of time, you are ready to graph or chart the accceleration of the @boardname@. We want a printout of our acceleration on Excel that can be graphed in Excel.
-
-### ~
-
-We want to chart the data collected by using a tool in Excel.
-
-The final part of this experiment is opening and reviewing the data in the Excel CSV file. Simply click on the line beneath the simulator. A CSV file will be generated to display the data points collected by moving the @boardname@ in the X direction. Then click or tap on the data Excel file that was downloaded to your local ``Downloads`` Folder.
-
-
-### ~
-
-
-First, click or tap on the first two columns (A, B) to include the time of the data being collected; b) the results of acceleration data on the @boardname@
-
-![](/static/mb/data7.png)
-
-Use the Recommended Charts command on the Insert tab to quickly create a chart that’s just right for your data.
-
-* Select the data that you want to include in your chart.
-
-* Click Insert > Recommended Charts.
-
-![](/static/mb/lessons/chart1.png)
-
-* On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data. Pick the **scatter plot**.
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/charting/challenge)
-
-### ~
-
diff --git a/docs/lessons/charting/challenge.md b/docs/lessons/charting/challenge.md
deleted file mode 100644
index 1afe7e05..00000000
--- a/docs/lessons/charting/challenge.md
+++ /dev/null
@@ -1,92 +0,0 @@
-# Challenge
-
-### ~avatar avatar
-
-Welcome! The activity will teach you how to use the acceleration of the 1st @boardname@ and to visualize the acceleration on the 2nd @boardname@.
-Let's get started!
-
-### ~
-Let's measure `acceleration (mg)` and then `send number`. `Acceleration` is measured in **milli-gravities**, so a value of -1000 is equivalent to -1g or -9.81m/s^2. We will be able to get the acceleration value (g-force), in the specified "x" dimension. `Send number` will broadcast a number data packet to other @boardname@s connected via radio.
-
-```blocks
-radio.sendNumber(input.acceleration(Dimension.X));
-```
-### ~
-We want to display the acceleration forever. In order to do so, we need a `forever` loop. A forever loop will repeat code in the background forever.
-
-```blocks
-basic.forever(() => {
- radio.sendNumber(input.acceleration(Dimension.X));
-});
-
-
-```
-### ~
-We want to register code to run when a packet is received over radio. We can implement this code by adding `on data received`.
-
-```blocks
-basic.forever(() => {
- radio.sendNumber(input.acceleration(Dimension.X))
-})
-radio.onDataPacketReceived(() => {
-
-})
-```
-### ~
-Finally, we want to chart the acceleration. So we must first implement `plot bar graph`. `Plot Bar Graph` will display a vertical bar graph based on the value and high value. In order to transfer the receive the number from the 1st @boardname@, we must implement `receive number` to constantly display a vertical bar graph based on the value. Remember, the value will equal to the @boardname@'s acceleration in the "x" direction.
-
-```blocks
-basic.forever(() => {
- radio.sendNumber(input.acceleration(Dimension.X))
-})
-radio.onDataPacketReceived(({ receivedNumber }) => {
- led.plotBarGraph(receivedNumber, 1023)
-})
-
-```
-### ~
-Notice that moving the @boardname@ the farthest direction in the x direction will be -1023 on the charting beneath the simulator. The second observation will be that the LEDs will be full brightness on the 2nd @boardname@. There is a single LED turned on with the 1st @boardname@. Additionally, the graphs will reflect 0 acceleation for the 1st @boardname@. In this scenario, if you are adjusting the acceleration in the simualator, you are also changing your chart that will be produced.
-
-![](/static/mb/acc.png)
-
-### ~
-NOTE: The colors of the charts reflect the color of the @boardname@ simulator. In this instance, the @boardname@s are blue and green. So the colors of the line graphs reflect the colors of the @boardname@
-
- ### ~
-After running this simulation several seconds by moving the @boardname@ side to side in the x direction, you are ready to graph or chart the accceleration of the @boardname@. We want a printout of our acceleration on Excel. We will graph the fluctuating acceleration of the simulation experiment.
-
-![](/static/mb/acc2.png)
-
-### ~
-Finally, you must open the Excel CSV file by clicking on the data.xls file that was downloaded to Downloads Folder.
-
-![](/static/mb/data3.png)
-
-Use the Recommended Charts command on the Insert tab to quickly create a chart that’s just right for your data.
-
-* Select the data that you want to include in your chart.
-
-* Click Insert > Recommended Charts.
-
-![](/static/mb/lessons/chart1.png)
-
-* On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data. Pick the **scatter plot**.
-
-![](/static/mb/chart_title.png)
-
-* Use the Chart Elements, Chart Styles, and Chart Filters buttons next to the upper-right corner of the chart to add chart elements like axis titles or data labels, to customize the look of your chart
-
-![](/static/mb/elements_styles_filters.png)
-
-### ~
-Have fun reviewing your simulation and analyze the acceleration by chart the Excel data using Excel.
-
-* Connect the first @boardname@ to your computer using your USB cable and run the charting script on it.
-* Connect the second @boardname@ to your computer using your USB cable and run the charting script on it.
-* The first person and second person take turns tilting the @boardname@ in the "x" direction while the other player charts the data on the @boardname@!
-* Review and analyze the actual @boardname@ device acceleration data on Excel
-* Display acceleration with y or z using plot bar graph by changing acceleration from "x" to "y" or "z"
-
-```package
-radio
-```
\ No newline at end of file
diff --git a/docs/lessons/charting/quiz-answers.md b/docs/lessons/charting/quiz-answers.md
deleted file mode 100644
index e81d7405..00000000
--- a/docs/lessons/charting/quiz-answers.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# charting quiz answers
-
-Measure the acceleration on the @boardname@ in the "x" direction.
-
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [charting activity](/lessons/charting)
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Why are you creating a 'forever' loop?
-
-
-
-We are creating a forever loop to constantly display the appropriate brightness on the LED display.
-
-## 2. Write the line of code to measure the acceleration with respect to the "x" axis and display this value in a bar graph.
-
-
-
-```blocks
-led.plotBarGraph(input.acceleration(Dimension.X), 0)
-```
-
-## 3. After vigarously moving the @boardname@ from side to side along the "x" axis for a sufficient amount of time,insert the Excel graph for displaying a line chart used to display trends over time.
-
-
-
-![](/static/mb/line_chart.png)
-
diff --git a/docs/lessons/charting/quiz.md b/docs/lessons/charting/quiz.md
deleted file mode 100644
index 04498e2e..00000000
--- a/docs/lessons/charting/quiz.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# charting quiz
-
-Measure the acceleration on the @boardname@ in the "x" direction.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [glowing pendulum tutorial](/lessons/glowing-pendulum/activity)
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Why are you creating a 'forever' loop?
-
-
-
-## 2. Write the line of code to measure the acceleration with respect to the "y" axis and store this value in a local variable called 'acceleration'.
-
-
-
-## 3. After vigarously moving the @boardname@ from side to side along the "x" axis for a sufficient amount of time,insert the Excel graph for displaying a line chart used to display trends over time.
-
-
diff --git a/docs/lessons/classic-beatbox.md b/docs/lessons/classic-beatbox.md
deleted file mode 100644
index 80ae0764..00000000
--- a/docs/lessons/classic-beatbox.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# classic beatbox
-
-display beautiful images on the @boardname@.
-
-## Topic
-
-Music
-
-## Quick Links
-
-* [activity](/lessons/classic-beatbox/activity)
-* [challenges](/lessons/classic-beatbox/challenges)
-
-
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to make a beatbox music player using pins P1 and P2. We will be learning how to code musical notes using a local variable, for loop, on pin pressed as well as simple commands such as play and notes.
-
-## Objectives
-
-* learn how to code music on the @boardname@
-
diff --git a/docs/lessons/classic-beatbox/activity.md b/docs/lessons/classic-beatbox/activity.md
deleted file mode 100644
index af223e62..00000000
--- a/docs/lessons/classic-beatbox/activity.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# beatbox activity
-
-Control images with variables.
-
-Have you ever tried to making beat box sounds? Let's try making a beatbox with code!
-
-Let's start by adding a variable where you can store data. Then rename the variable to "sound". Then set the value of the variable to the note block `A` from the Music drawer. Modify your code so that your code looks like this.
-
-```blocks
-let sound = music.noteFrequency(Note.A);
-```
-
-We want to play music on pin pressed in order to register an event handler that will execute whenever when you run a script and click pin 1 on the simulator. We must start by opening the Input drawer and adding `on pin pressed` P1. Modify your code so that your code looks like this.
-
-```blocks
-let sound = music.noteFrequency(Note.A);
-input.onPinPressed(TouchPin.P1, () => {
-
-})
-```
-
-We want to code the notes that will be played `on pin pressed`. We click on the Input drawer then insert a `for loop` that will increment by *i*. Click on the Variables drawer. Add `set item` block. Rename the variable block to "sound." Then add a Maths block to increase the variable sound from the note frequency of block `A` to `A` plus 25.Modify your code so that your code looks like this
-
-```blocks
-let sound = music.noteFrequency(Note.A);
-input.onPinPressed(TouchPin.P1, () => {
- for (let i = 0; i < 4; i++) {
- sound = sound + 25
- }
-})
-```
-
-Include a play block with the variable called "sound" and insert a music note block `1/16`. Modify your code so that your code looks like this
-
-```blocks
-let sound = music.noteFrequency(Note.A);
-input.onPinPressed(TouchPin.P1, () => {
- for (let i = 0; i < 5; i++) {
- sound = sound + 25
- music.playTone(music.noteFrequency(sound), music.beat(BeatFraction.Sixteenth));
- }
-
-})
-
-```
-
-
-* click *run* to see if the code works as expected.
-
-### ~avatar boothing
-
-Excellent, you're ready to continue with the [challenges](/lessons/classic-beatbox/challenges)!
-
-### ~
\ No newline at end of file
diff --git a/docs/lessons/classic-beatbox/challenges.md b/docs/lessons/classic-beatbox/challenges.md
deleted file mode 100644
index 03d081a2..00000000
--- a/docs/lessons/classic-beatbox/challenges.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# beatbox challenges
-
-Create sounds with variables.
-
-## Before we get started
-
-Complete the [beatbox](/lessons/classic-beatbox/activity) activity and your code will look like this:
-
-
-```blocks
-let sound = music.noteFrequency(Note.A);
-input.onPinPressed(TouchPin.P1, () => {
- for (let i = 0; i < 4; i++) {
- sound = sound + 25
- music.playTone(music.noteFrequency(sound), music.beat(BeatFraction.Sixteenth));
- }
-})
-```
-
-### Challenge 1
-
-Let's include a second sound `on pin pressed` *P2*. To do this, you need to add the same blocks as the banana keyboard activity. However, you must change alter `on pin pressed` from P1 to P2. Additionally, you must *decrease* the frequency of the variable "sound" by 25. Modify your code so that your code looks like this
-
-
-```blocks
-let sound = music.noteFrequency(Note.A);
-input.onPinPressed(TouchPin.P1, () => {
- for (let i = 0; i < 5; i++) {
- sound = sound + 25
- music.playTone(music.noteFrequency(sound), music.beat(BeatFraction.Sixteenth));
- }
-
-})
-input.onPinPressed(TouchPin.P2, () => {
- for (let i = 0; i < 5; i++) {
- sound = sound - 25
- music.playTone(music.noteFrequency(sound), music.beat(BeatFraction.Sixteenth));
- }
-
-})
-```
-
-* click *run* to see if the code works as expected.
-
-### Challenge 2
-
-Finally, we want images to be displayed with sounds `on pin pressed`. Add `show LEDs` blocks under `on pin pressed` P1 and P2.
-
diff --git a/docs/lessons/compass.md b/docs/lessons/compass.md
deleted file mode 100644
index 83ee8502..00000000
--- a/docs/lessons/compass.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# compass lesson
-
-create a die on the @boardname@.
-
-## Topic
-
-If (Conditionals)
-
-## Quick Links
-
-* [activity](/lessons/compass/activity)
-* [challenges](/lessons/compass/challenges)
-* [quiz](/lessons/compass/quiz)
-* [quiz answers](/lessons/compass/quiz-answers)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to use an if statements to run code run code depending on whether a condition is true or not. We will be learning how to create a compass with If statements, Forever, Variables, Assignment Operator, Comparison Operator, Show String, and Show LEDs
-
-## Documentation
-
-```cards
-input.compassHeading()
-basic.forever(() => {})
-let x = 0
-if (true) {}
-basic.showString("Hello!")
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-```
-
-## Objectives
-
-* learn how to run code when the @boardname@ is shaken, when running code in the web browser, moving the mouse quickly simulates shaking
-* learn how to create a local variable as a place where you can store and retrieve data
-* learn how the assignment operator is used to declare a new local variable
-* learn how to declare a new local variable or update the value of a variable
-* learn how to return a random number
-* learn how to conditionally run code depending on whether a condition is true or not
-* learn how to show an image on the LED screen
diff --git a/docs/lessons/compass/activity.md b/docs/lessons/compass/activity.md
deleted file mode 100644
index d25a1473..00000000
--- a/docs/lessons/compass/activity.md
+++ /dev/null
@@ -1,98 +0,0 @@
-# compass activity
-
-Display the direction that the @boardname@ is facing using the compass
-
-### ~avatar avatar
-
-Welcome! This guided tutorial will show you how to program a script that displays the direction the @boardname@ is pointing. Let's get started!
-
-### ~
-
-Create a loop that will continuously update the reading of the compass.
-
-
-```blocks
-basic.forever(() => {
-
-})
-```
-
-Store the reading of the @boardname@ in a variable called `degrees`.
-
-```blocks
-basic.forever(() => {
- let degrees = input.compassHeading()
-})
-```
-
-If `degrees` is less than `45`, then the compass heading is mostly pointing toward North. Display `N` on the @boardname@.
-
-```blocks
-basic.forever(() => {
- let degrees = input.compassHeading();
- if (degrees < 45) {
- basic.showString("N");
- }
-});
-```
-
-If `degrees` is less than 135, the @boardname@ is mostly pointing East. Display `E` on the @boardname@.
-
-
-```blocks
-basic.forever(() => {
- let degrees = input.compassHeading();
- if (degrees < 45) {
- basic.showString("N");
- }
- else if (degrees < 135) {
- basic.showString("E");
- }
-});
-```
-
-If `degrees` is less than 225, the @boardname@ is mostly pointing South. Display `S` on the @boardname@.
-
-
-```blocks
-basic.forever(() => {
- let degrees = input.compassHeading();
- if (degrees < 45) {
- basic.showString("N");
- }
- else if (degrees < 135) {
- basic.showString("E");
- }
- else if (degrees < 225) {
- basic.showString("S");
- }
-});
-```
-
-
-If none of these conditions returned true, then the @boardname@ must be pointing West. Display `W` on the @boardname@.
-
-```blocks
-basic.forever(() => {
- let degrees = input.compassHeading();
- if (degrees < 45) {
- basic.showString("N");
- }
- else if (degrees < 135) {
- basic.showString("E");
- }
- else if (degrees < 225) {
- basic.showString("S");
- }
- else {
- basic.showString("W");
- }
-});
-```
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/compass/challenges)!
-
-### ~
-
diff --git a/docs/lessons/compass/challenges.md b/docs/lessons/compass/challenges.md
deleted file mode 100644
index 8a5e1fa6..00000000
--- a/docs/lessons/compass/challenges.md
+++ /dev/null
@@ -1,88 +0,0 @@
-# compass challenges
-
-Display the direction that the @boardname@ is facing using the compass
-
-## Before we get started
-
-Complete the following [guided tutorial](/lessons/compass/activity), your code should look like this:
-
-```blocks
- let degrees = 0;
-basic.forever(() => {
- degrees = input.compassHeading();
- if (degrees < 45) {
- basic.showString("N");
- }
- else if (degrees < 135) {
- basic.showString("E");
- }
- else if (degrees < 225) {
- basic.showString("S");
- }
- else {
- basic.showString("W");
- }
-});
-```
-
-### Challenge 1
-
-Instead of displaying `N` when the @boardname@ is pointing North, display a star to indicate the north star.
-
-```blocks
- let degrees = 0;
-basic.forever(() => {
- degrees = input.compassHeading();
- if (degrees < 45) {
- basic.showLeds(`
-# . # . #
-. # # # .
-# # # # #
-. # # # .
-# . # . #`);
- }
- else if (degrees < 135) {
- basic.showString("E");
- }
- else if (degrees < 225) {
- basic.showString("S");
- }
- else {
- basic.showString("W");
- }
-});
-```
-
-
-* Run your code to see if it works as expected
-
-### Challenge 2
-
-Instead of displaying just `N`, `W`, `S`, or `E`, display the full word.
-
-```blocks
- let degrees = 0;
-basic.forever(() => {
- degrees = input.compassHeading();
- if (degrees < 45) {
- basic.showString("NORTH");
- }
- else if (degrees < 135) {
- basic.showString("EAST");
- }
- else if (degrees < 225) {
- basic.showString("SOUTH");
- }
- else {
- basic.showString("WEST");
- }
-});
-```
-
-
-* Run your code to see if it works as expected
-
-### Challenge 3
-
-Display your own unique message for each direction.
-
diff --git a/docs/lessons/compass/quiz-answers.md b/docs/lessons/compass/quiz-answers.md
deleted file mode 100644
index c709b313..00000000
--- a/docs/lessons/compass/quiz-answers.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# compass quiz answers
-
-Create an actual compass to show your direction: North, South, East, or West
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [compass tutorial](/lessons/compass/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. What is the purpose of the 'compass heading' block?
-
-Gets the compass heading of the @boardname@ in degrees
-
-
-## 2. Write the code that stores the compass heading into a local variable called 'degrees'.
-
-
-```blocks
-let degrees = input.compassHeading()
-```
-
-## 3. Write the 'If statement' that will check if the device is mostly pointing North. Display 'N' on the @boardname@
-
-
-```blocks
-let degrees = input.compassHeading()
-if (degrees < 45) {
- basic.showString("N", 150)
-}
-```
-
-## 4. Write the 'If statement' that will check if the device is mostly pointing East. Display 'E' on the @boardname@
-
-
-```blocks
-let degrees = input.compassHeading()
-if (degrees < 135) {
- basic.showString("E", 150)
-}
-```
-
-## 5. Write the 'If statement' that will check if the device is mostly pointing South. Display 'S' on the @boardname@
-
-
-```blocks
-let degrees = input.compassHeading()
-if (degrees < 225) {
- basic.showString("S", 150)
-}
-```
-
diff --git a/docs/lessons/compass/quiz.md b/docs/lessons/compass/quiz.md
deleted file mode 100644
index 31dd3da1..00000000
--- a/docs/lessons/compass/quiz.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# compass quiz
-
-Create an actual compass to show your direction: North, South, East, or West
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [compass activity](/lessons/compass/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. What is the purpose of the 'compass heading' block?
-
-## 2. Write the code that stores the compass heading into a local variable called 'degrees'.
-
-
-## 3. Write the 'If statement' that will check if the device is mostly pointing North. Display 'N' on the @boardname@
-
-
-## 4. Write the 'If statement' that will check if the device is mostly pointing East. Display 'E' on the @boardname@
-
-
-## 5. Write the 'If statement' that will check if the device is mostly pointing South. Display 'S' on the @boardname@
-
-
diff --git a/docs/lessons/counter.md b/docs/lessons/counter.md
deleted file mode 100644
index 3f557b40..00000000
--- a/docs/lessons/counter.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# counter lesson
-
-Learn how to create a counter with with on button pressed.
-
-## Topic
-
-Variables
-
-## Quick Links
-
-* [activity](/lessons/counter/activity)
-* [challenges](/lessons/counter/challenges)
-* [quiz](/lessons/counter/quiz)
-* [quiz answers](/lessons/counter/quiz-answers)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to creating a **variable** to keep track of the current count. We will be learning how to create a counter app using a variable as well as simple commands, such as on button pressed, and show number.
-
-## Documentation
-
-```cards
-input.compassHeading()
-basic.forever(() => {})
-let x = 0
-if (true) {}
-basic.showString("Hello!")
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-```
-
-* **variable**: [read more...](/blocks/variables)
-* **arithmetic operators**: [read more...](/reference/types/number)
-* **on button pressed** : [read more...](/reference/input/on-button-pressed)
-* **show number** : [read more...](/reference/basic/show-number)
-
-## Objectives
-
-* learn how to create a variable as a place where you can store data so that you can use it later in your code, accessible across all functions, and in nested code blocks
-* learn how arithmetic operators operate on numbers and return a number
-* learn how to run code when an input button is pressed
-* learn how to show a number on the LED screen, one digit at a time (scrolling from left to right)
-
diff --git a/docs/lessons/counter/activity.md b/docs/lessons/counter/activity.md
deleted file mode 100644
index e3e1d251..00000000
--- a/docs/lessons/counter/activity.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# counter activity
-
-Display a number with a variable.
-
-### ~avatar avatar
-
-Welcome! This tutorial will teach you how to make a counter that increments when button A is pressed. Let's get started!
-
-### ~
-
-Let's start by creating a **local variable** `count` to keep track of the current count.
-
-```blocks
-let count = 0
-```
-
-The code under ``on button pressed("A")`` will run each time the user presses A. Let's add a line of code that increments `count` by `1`.
-
-```blocks
-let count = 0
-input.onButtonPressed(Button.A, () => {
- count = count + 1
-})
-```
-
-Since the count has changed, it's time to refresh the screen display. Let's add a line of code to display the count on screen.
-
-
-```blocks
-let count = 0
-input.onButtonPressed(Button.A, () => {
- count = count + 1
- basic.showNumber(count)
-})
-```
-
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/counter/challenges)
-
-### ~
-
diff --git a/docs/lessons/counter/challenges.md b/docs/lessons/counter/challenges.md
deleted file mode 100644
index 7610102c..00000000
--- a/docs/lessons/counter/challenges.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# counter challenges
-
-Coding challenges for the counter.
-
-## Before we get started
-
-Complete the following [guided tutorial](/lessons/counter/activity) At the end of the tutorial, click **keep editing**. Your code should look like this:
-
-```blocks
-let count = 0
-input.onButtonPressed(Button.A, () => {
- count = count + 1
- basic.showNumber(count)
-})
-```
-
-### Challenge 1
-
-Let's add the code to `count` when `B` is pressed. Add an event handler with `on button pressed(B)` then add the code to `count`.
-
-
-```blocks
-let count = 0
-input.onButtonPressed(Button.A, () => {
- count = count + 1
- basic.showNumber(count)
-})
-input.onButtonPressed(Button.B, () => {
- count = count - 1
- basic.showNumber(count)
-})
-```
-
-### Challenge 3
-
-Now let's try to reset the counter when the @boardname@ is shaken. You will need to register an event handler with `on shake`.
-
diff --git a/docs/lessons/counter/quiz-answers.md b/docs/lessons/counter/quiz-answers.md
deleted file mode 100644
index 9a7adc2d..00000000
--- a/docs/lessons/counter/quiz-answers.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# counter quiz answers
-
-Learn how to create a counter with the @boardname@ button.
-
-This is the answer key for the [counter quiz](/lessons/counter/quiz).
-
-## 1. What is a variable?
-
-Answers may vary but a variable is a place where you can store and retrieve data
-
-## 2. Draw the stored value for the variable called count
-
-```blocks
-let count = 0
-```
-
-![](/static/mb/lessons/counter-0.png)
-
-We create a **variable**, `count` to keep track of the current count. The number 0 is stored into memory of the variable.
-
-
-
-## 3. Draw which LEDs are ON after running this code and pressing button "A" once. Explain you chose to draw that number
-
-```blocks
-let count = 0
-input.onButtonPressed(Button.A, () => {
- count = count + 1
- basic.showNumber(count)
-})
-```
-
-![](/static/mb/lessons/counter-1.png)
-
-We are only pressing on button pressed once. So the number to display on the @boardname@ is also one.
-
-
-
-## 4. Draw which LEDs are ON after running this code and pressing button "A" three times. Explain you chose to draw that number
-
-```blocks
-let count = 0
-input.onButtonPressed(Button.A, () => {
- count = + 1
- basic.showNumber(count)
-})
-```
-
-![](/static/mb/lessons/counter-2.png)
-
-We included the code ``on button pressed("A")`` that runs each time the user presses A. The code increments `count` by `1`. We increase `count` by 1 whenever the user presses the button. So the third time the A button is pressed on the @boardname@, the number 3 is displayed
-
-
-
diff --git a/docs/lessons/counter/quiz.md b/docs/lessons/counter/quiz.md
deleted file mode 100644
index 28cb3737..00000000
--- a/docs/lessons/counter/quiz.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# counter quiz
-
-Learn how to create a counter with the @boardname@ button.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [counter tutorial](/lessons/counter/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. What is a variable?
-
-
-
-## 2. Draw the stored value for the variable called count
-
-```blocks
-let count = 0
-```
-
-![](/static/mb/empty-microbit.png)
-
-
-
-## 3. Draw which LEDs are ON after running this code and pressing button "A" once. Explain you chose to draw that number
-
-```blocks
-let counts = 0
-input.onButtonPressed(Button.A, () => {
- counts = counts + 1
- basic.showNumber(counts, 150)
-})
-```
-
-![](/static/mb/empty-microbit.png)
-
-
-
-## 4. Draw which LEDs are ON after running this code and pressing button "A" three times. Explain you chose to draw that number
-
-```blocks
-let counting= 0
-input.onButtonPressed(Button.A, () => {
- counting = counting + 1
- basic.showNumber(counting, 100)
-})
-```
-
-![](/static/mb/empty-microbit.png)
-
-
-
diff --git a/docs/lessons/dice-roll.md b/docs/lessons/dice-roll.md
deleted file mode 100644
index 8e13aac3..00000000
--- a/docs/lessons/dice-roll.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# dice roll lesson
-
-Create a dice on the @boardname@.
-
-## Topic
-
-If (Conditionals)
-
-## Quick Links
-
-* [activity](/lessons/dice-roll/activity)
-* [challenges](/lessons/dice-roll/challenges)
-* [quiz](/lessons/dice-roll/quiz)
-* [quiz answers](/lessons/dice-roll/quiz-answers)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to use an if statements to run code run code depending on whether a condition is true or not. We will be learning how to create a die with If statements, On Shake, Variables, Assignment Operator, Pick Random and Show LEDs
-
-## Documentation
-
-```cards
-input.onGesture(Gesture.Shake, () => {})
-let x = 0
-Math.random(3)
-if (true) {}
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-```
-
-## Objectives
-
-* learn how to run code when the @boardname@ is shaken, when running code in the web browser, moving the mouse quickly simulates shaking
-* learn how to create a local variable as a place where you can store and retrieve data
-* learn how the assignment operator is used to declare a new local variable
-* learn how to declare a new local variable or update the value of a variable
-* learn how to return a random number
-* learn how to conditionally run code depending on whether a condition is true or not
-* learn how to show an image on the LED screen
diff --git a/docs/lessons/dice-roll/activity.md b/docs/lessons/dice-roll/activity.md
deleted file mode 100644
index 487dbc34..00000000
--- a/docs/lessons/dice-roll/activity.md
+++ /dev/null
@@ -1,169 +0,0 @@
-# dice roll activity
-
-Create a dice on the @boardname@
-
-### ~avatar avatar
-
-Welcome! This tutorial will help you create a dice. Let's get started!
-
-### ~
-
-Let's create a condition for when the @boardname@ is shaken.
-
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
-
-})
-```
-
-We need to show a random value from 1 to 6 on our dice. So let's make a local variable called **roll**.
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let roll = Math.random(6)
-})
-```
-
-We need a condition for if **roll** is 5. We will show a `6` if **roll** is 5 because **roll** has a range from 0 to 5. We can use `show LEDs` to display the side of a dice that shows 6.
-
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let roll = Math.random(6);
- if (roll == 5) {
- basic.showLeds(`
-. # . # .
-. . . . .
-. # . # .
-. . . . .
-. # . # .`);
- }
-});
-```
-
-
-Let's use an `else if` condition for if **roll** is 4. If **roll** is 4 we can show 5 dots on the dice.
-
-
-```blocks
-input.onGesture(Gesture.Shake, ()=> {
- let roll = Math.random(6);
- if (roll == 5) {
- basic.showLeds(`
-. # . # .
-. . . . .
-. # . # .
-. . . . .
-. # . # .`);
- }
- else if (roll == 4) {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . # . .
-. # . # .
-. . . . .`);
- }
-});
-
-```
-
-
-Now we need to repeat the same steps for if **roll** is 3. If **roll** is 3 we will show `4` on the dice.
-
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let roll = Math.random(6);
- if (roll == 5) {
- basic.showLeds(`
-. # . # .
-. . . . .
-. # . # .
-. . . . .
-. # . # .`);
- }
- else if (roll == 4) {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . # . .
-. # . # .
-. . . . .`);
- }
- else if (roll == 3) {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . . . .
-. # . # .
-. . . . .`);
- }
-});
-```
-
-
-Let's also repeat these steps to show the 3, 2, and 1 on the dice. We are almost done with our dice!
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let roll = Math.random(6);
- if (roll == 5) {
- basic.showLeds(`
-. # . # .
-. . . . .
-. # . # .
-. . . . .
-. # . # .`);
- }
- else if (roll == 4) {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . # . .
-. # . # .
-. . . . .`);
- }
- else if (roll == 3) {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . . . .
-. # . # .
-. . . . .`);
- }
- else if (roll == 2) {
- basic.showLeds(`
-# . . . .
-. . . . .
-. . # . .
-. . . . .
-. . . . #`);
- }
- else if (roll == 1) {
- basic.showLeds(`
-. . . . .
-. # . . .
-. . . . .
-. . . # .
-. . . . .`);
- }
- else {
- basic.showLeds(`
-. . . . .
-. . . . .
-. . # . .
-. . . . .
-. . . . .`);
- }
-});
-```
-
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/dice-roll/challenges)!
-
-### ~
-
diff --git a/docs/lessons/dice-roll/challenges.md b/docs/lessons/dice-roll/challenges.md
deleted file mode 100644
index a1b80b39..00000000
--- a/docs/lessons/dice-roll/challenges.md
+++ /dev/null
@@ -1,183 +0,0 @@
-# dice roll challenges
-
-Create a dice on the @boardname@.
-
-## Before we get started
-
-Complete the following [guided tutorial](/lessons/dice-roll/activity), your code should look like this:
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let roll = Math.random(6);
- if (roll == 5) {
- basic.showLeds(`
-. # . # .
-. . . . .
-. # . # .
-. . . . .
-. # . # .`);
- }
- else if (roll == 4) {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . # . .
-. # . # .
-. . . . .`);
- }
- else if (roll == 3) {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . . . .
-. # . # .
-. . . . .`);
- }
- else if (roll == 2) {
- basic.showLeds(`
-# . . . .
-. . . . .
-. . # . .
-. . . . .
-. . . . #`);
- }
- else if (roll == 1) {
- basic.showLeds(`
-. . . . .
-. # . . .
-. . . . .
-. . . # .
-. . . . .`);
- }
- else {
- basic.showLeds(`
-. . . . .
-. . . . .
-. . # . .
-. . . . .
-. . . . .`);
- }
-});
-```
-
-### Challenge 1
-
-Modify the line of code with `pick random` so that only number 1-4 can appear on the dice.
-
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let roll = Math.random(4);
- if (roll == 5) {
- basic.showLeds(`
-. # . # .
-. . . . .
-. # . # .
-. . . . .
-. # . # .`);
- }
- else if (roll == 4) {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . # . .
-. # . # .
-. . . . .`);
- }
- else if (roll == 3) {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . . . .
-. # . # .
-. . . . .`);
- }
- else if (roll == 2) {
- basic.showLeds(`
-# . . . .
-. . . . .
-. . # . .
-. . . . .
-. . . . #`);
- }
- else if (roll == 1) {
- basic.showLeds(`
-. . . . .
-. # . . .
-. . . . .
-. . . # .
-. . . . .`);
- }
- else {
- basic.showLeds(`
-. . . . .
-. . . . .
-. . # . .
-. . . . .
-. . . . .`);
- }
-});
-```
-
-### Challenge 2
-
-Let's make a trick dice! Modify the line of code with `pick random` so that only numbers 3-6 can appear on the dice. Also note that we need to ensure `roll = 0` when only 1 dot is shown on the @boardname@.
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let roll = Math.random(4) + 2;
- if (roll == 5) {
- basic.showLeds(`
-. # . # .
-. . . . .
-. # . # .
-. . . . .
-. # . # .`);
- }
- else if (roll == 4) {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . # . .
-. # . # .
-. . . . .`);
- }
- else if (roll == 3) {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . . . .
-. # . # .
-. . . . .`);
- }
- else if (roll == 2) {
- basic.showLeds(`
-# . . . .
-. . . . .
-. . # . .
-. . . . .
-. . . . #`);
- }
- else if (roll == 1) {
- basic.showLeds(`
-. . . . .
-. # . . .
-. . . . .
-. . . # .
-. . . . .`);
- }
- else {
- basic.showLeds(`
-. . . . .
-. . . . .
-. . # . .
-. . . . .
-. . . . .`);
- }
-});
-```
-
-### Challenge 3
-
-Add a couple more conditions so that the @boardname@ randomly chooses a number between 1 and 8.
-
diff --git a/docs/lessons/dice-roll/quiz-answers.md b/docs/lessons/dice-roll/quiz-answers.md
deleted file mode 100644
index 60696356..00000000
--- a/docs/lessons/dice-roll/quiz-answers.md
+++ /dev/null
@@ -1,121 +0,0 @@
-# dice roll quiz answers
-
-Create a dice when the @boardname@ is shaken
-
-These are the answers to the [dice roll quiz](/lessons/dice-roll/quiz).
-
-## 1. Create a variable named 'roll' that will be randomly assigned to a number between 0 and 5.
-
-
-
-```blocks
-let roll = Math.random(6)
-```
-
-## 2. If the variable "roll" equals 5, write the code that will plot the image below
-
-![](/static/mb/lessons/die-roll-0.png)
-
-
-
-```blocks
-let roll = Math.random(6)
-if (roll == 5) {
- basic.showLeds(`
-. # . # .
-. . . . .
-. # . # .
-. . . . .
-. # . # .
-`)
-}
-```
-
-## 3. You will use an `else if` condition if "roll" is equal 4. Write the `else if` statement that will display the plot image below
-
-![](/static/mb/lessons/die-roll-1.png)
-
-
-
-```blocks
-
-let roll = Math.random(6)
-if (roll == 5) {
- basic.showLeds(`
-. # . # .
-. . . . .
-. # . # .
-. . . . .
-. # . # .
-`)
-} else if (roll == 4) {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . # . .
-. # . # .
-. . . . .
-`)
-}
-```
-
-Note: students are only required to write the bottom half of this answer, starting with "else if".
-
-## 4. You will use an `else if` condition if "roll" is equal 3. Write the `else if` statement that will display the plot image below
-
-![](/static/mb/lessons/die-roll-2.png)
-
-
-
-```blocks
-let roll = Math.random(6)
-if (roll == 4) {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . # . .
-. # . # .
-. . . . .
-`)
-} else if (roll == 3) {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . . . .
-. # . # .
-. . . . .
-`)
-}
-```
-
-Note: students are only required to write the bottom half of this answer, starting with "else if".
-
-## 5. You will use an `else if` condition if "roll" is equal 2. Write the `else if` that will display the image below
-
-![](/static/mb/lessons/die-roll-3.png)
-
-
-
-```blocks
-let roll = Math.random(6)
-if (roll == 3) {
- basic.showLeds(`
-. . . . .
-. # . # .
-. . . . .
-. # . # .
-. . . . .
-`)
-} else if (roll == 2) {
- basic.showLeds(`
-# . . . .
-. . . . .
-. . # . .
-. . . . .
-. . . . #
-`)
-}
-```
-
-Note: students are only required to write the bottom half of this answer, starting with "else if".
-
diff --git a/docs/lessons/dice-roll/quiz.md b/docs/lessons/dice-roll/quiz.md
deleted file mode 100644
index d9b58df2..00000000
--- a/docs/lessons/dice-roll/quiz.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# dice roll quiz
-
-Create a dice when the @boardname@ is shaken
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [dice roll tutorial](/lessons/dice-roll/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Create a variable named 'roll' that will be randomly assigned to a number between 0 and 5.
-
-
-
-## 2. If the variable "roll" equals 5, write the code that will plot the image below
-
-![](/static/mb/lessons/die-roll-0.png)
-
-
-
-## 3. You will use an `else if` condition if "roll" is equal 4. Write the `else if` statement that will display the plot image below
-
-![](/static/mb/lessons/die-roll-1.png)
-
-
-
-
-
-## 4. You will use an `else if` condition if "roll" is equal 3. Write the `else if` statement that will display the plot image below
-
-![](/static/mb/lessons/die-roll-2.png)
-
-
-
-## 5. You will use an `else if` condition if "roll" is equal 2. Write the `else if` that will display the image below
-
-![](/static/mb/lessons/die-roll-3.png)
-
-
-
diff --git a/docs/lessons/digi-yoyo.md b/docs/lessons/digi-yoyo.md
deleted file mode 100644
index 06643f82..00000000
--- a/docs/lessons/digi-yoyo.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# digi yoyo lesson
-
-Create a counter with a while loop.
-
-## Topic
-
-While Loop
-
-## Quick Links
-
-* [activity](/lessons/digi-yoyo/activity)
-* [challenges](/lessons/digi-yoyo/challenges)
-* [quiz](/lessons/digi-yoyo/quiz)
-* [quiz answers](/lessons/digi-yoyo/quiz-answers)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to creating a **while loop**, `while condition do` to repeat code while a condition is true. We will be learning how to create a digi yoyo app using a while loop, a variable, as well as basic commands, such as pause and show number.
-
-## Documentation
-
-```cards
-let x = 0
-basic.showNumber(0)
-while (true) {}
-basic.pause(20)
-```
-
-## Objectives
-
-* learn how to create a local variables to store data and use it in your code
-* learn how to set or change the value of a local variable
-* learn how to repeat code while a condition is true
-* learn how a relational comparison (<) of numbers will yield a Boolean
-* learn how to pause your code for the specified number of milliseconds
-* learn how to show a number on the LED screen
-
diff --git a/docs/lessons/digi-yoyo/activity.md b/docs/lessons/digi-yoyo/activity.md
deleted file mode 100644
index c65c3a2a..00000000
--- a/docs/lessons/digi-yoyo/activity.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# digi yoyo activity
-
-Create a counter with a while loop.
-
-### ~avatar avatar
-
-Welcome! This tutorial will teach how to create a counter with a while loop. Let's get started!
-
-### ~
-
-Create a variable that acts as a counter and set it to 0.
-
-```blocks
-let count = 0
-```
-
-Add a while loop that will loop over and over until the variable `count` equals 10.
-
-
-```blocks
-let count = 0
-while (count < 10) {
-
-}
-
-```
-
-Let's add a pause. Then show the value of the the count.
-
-
-```blocks
-let count = 0;
-while (count < 10) {
- basic.pause(100);
- basic.showNumber(count)
-}
-
-```
-
-Increase the value of count by one.
-
-
-```blocks
-let count = 0
-while (count < 10) {
- basic.pause(100)
- basic.showNumber(count)
- count = count + (count - 1)
-}
-```
-
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/digi-yoyo/challenges)!
-
-### ~
-
diff --git a/docs/lessons/digi-yoyo/challenges.md b/docs/lessons/digi-yoyo/challenges.md
deleted file mode 100644
index ddb5c836..00000000
--- a/docs/lessons/digi-yoyo/challenges.md
+++ /dev/null
@@ -1,73 +0,0 @@
-# digi yoyo challenges
-
-Coding challenges for the digi yoyo.
-
-## Before we get started
-
-Complete the following [guided tutorial](/lessons/digi-yoyo/activity), your code should look like this:
-
-
-```blocks
- let count = 0;
-while (count < 10) {
- basic.pause(100);
- basic.showNumber(count);
- count = count + 1;
- basic.pause(20);
-}
-```
-
-### Challenge 1
-
-How about we create a counter that counts backwards from 10 to 1? Let's add a while loop that executes only when `count` is greater than 0.
-
-
-```blocks
- let count = 0;
-while (count < 10) {
- basic.pause(100);
- basic.showNumber(count);
- count = count + 1;
- basic.pause(20);
-}
-while (count > 0) {
-
-}
-
-
-```
-
-
-### Challenge 2
-
-Inside of the while loop, let's add `pause->(1000)` so that we have a pause between each number as it's counting down. Also, let's show `count`!
-
-
-
-```blocks
- let count = 0;
-while (count < 10) {
- basic.pause(100);
- basic.showNumber(count);
- count = count + 1;
-}
-while (count > 0) {
- basic.pause(100);
- basic.showNumber(count);
-}
-```
-
-
-* Run the code to see if it works as expected.
-
-### Challenge 3
-
-Now, we need `count` to decrease by one after the @boardname@ has displayed the value of `count`.
-
-We can do this by adding this line:
-
-```blocks
-let count = 0;
-count = count + (count - 1);
-
-```
diff --git a/docs/lessons/digi-yoyo/quiz-answers.md b/docs/lessons/digi-yoyo/quiz-answers.md
deleted file mode 100644
index 0949854f..00000000
--- a/docs/lessons/digi-yoyo/quiz-answers.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# digi yoyo quiz answers
-
-Answers for digi yoyo quiz.
-
-This is the answer key for the [digi yoyo quiz](/lessons/digi-yoyo/quiz).
-
-## 1. Describe what a "while loop" does?
-
-
-
-A loop that repeats code while a condition is true.
-
-## 2. Write the code that will create a **variable** called `count` and set the variable to 0.
-
-![](/static/mb/lessons/counter-0.png)
-
-
-
-```blocks
-let count = 0
-```
-
-## 3. Create a `while loop` that will loop until the **variable** `count` equals 4.
-
-![](/static/mb/lessons/digi-yoyo-0.png)
-
-
-
-```blocks
-let count = 0
-while (count < 5) {
- count = count + 1
-}
-```
-
diff --git a/docs/lessons/digi-yoyo/quiz.md b/docs/lessons/digi-yoyo/quiz.md
deleted file mode 100644
index 474b3bf1..00000000
--- a/docs/lessons/digi-yoyo/quiz.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# digi yoyo quiz
-
-Create a counter with a while loop
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [digi yoyo tutorial](/lessons/digi-yoyo/activity)
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Describe what a "while loop" does?
-
-
-
-## 2. Write the code that will create a variable called count and set the variable to 0.
-
-![](/static/mb/lessons/counter-0.png)
-
-
-
-## 3. Write the code for a while loop that will loop until the variable count equals 4.
-
-![](/static/mb/lessons/digi-yoyo-0.png)
-
-
-
diff --git a/docs/lessons/flashing-heart.md b/docs/lessons/flashing-heart.md
deleted file mode 100644
index 6ca3c7e8..00000000
--- a/docs/lessons/flashing-heart.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# flashing heart blocks lesson
-
-Learn how to create LED images with a global variable.
-
-## Topic
-
-Pause
-
-## Quick links
-
-* [activity](/lessons/flashing-heart/activity)
-* [quiz](/lessons/flashing-heart/quiz)
-* [quiz answers](/lessons/flashing-heart/quiz-answers)
-* [challenges](/lessons/flashing-heart/challenges)
-## Prior learning/place of lesson in scheme of work
-
-Learn how to `show LEDs` by showing an image on the LED screen. We will be learning how to create a blinking app using a forever loop as well as simple commands, such as show LEDs, pause, and clear screen.
-
-## Documentation
-
-```cards
-basic.forever(() => {})
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-basic.pause(100)
-basic.clearScreen()
-```
-
-## Objectives
-
-* learn how to repeat code in the background forever
-* learn how to show LEDs on the LED screen
-* learn how to pause your code for the specified number of milliseconds
-* learn how to turn off all the LED lights on the LED screen
diff --git a/docs/lessons/flashing-heart/activity.md b/docs/lessons/flashing-heart/activity.md
deleted file mode 100644
index ef0da311..00000000
--- a/docs/lessons/flashing-heart/activity.md
+++ /dev/null
@@ -1,71 +0,0 @@
-# flashing heart blocks activity
-
-Control images with a variable.
-
-### ~avatar avatar
-
-In this activity, you will learn how to blink an image on the LED screen.
-
-### ~
-
-Let's start by adding code that plots a heart image on the screen using `show LEDs`. Once you are done coding, don't forget to run your code in the simulator or the @boardname@.
-
-
-```blocks
-basic.showLeds(`
-. # . # .
-# # # # #
-# # # # #
-. # # # .
-. . # . .`);
-```
-
-We want to leave the image on the screen for 0.5 seconds (500 milliseconds), then clear the screen. We can use `pause` to wait and `clear screen` to turn off the LEDs.
-
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
- . # . # .
- # # # # #
- # # # # #
- . # # # .
- . . # . .
- `)
- basic.pause(500)
- basic.clearScreen()
-})
-
-
-```
-
-
-Finally, we can surround this code with a `forever` loop to repeat it and add a pause after `clear screen` to keep the screen off for a little while. Modify your code so that your code looks like this.
-
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
- . # . # .
- # # # # #
- # # # # #
- . # # # .
- . . # . .
- `)
- basic.pause(500)
- basic.clearScreen()
- basic.pause(500)
-
-})
-
-
-
-```
-
-
-### ~avatar boothing
-
-Excellent, you're ready to continue with the [challenges](/lessons/flashing-heart/challenges)!
-
-### ~
-
diff --git a/docs/lessons/flashing-heart/challenges.md b/docs/lessons/flashing-heart/challenges.md
deleted file mode 100644
index fdbdab21..00000000
--- a/docs/lessons/flashing-heart/challenges.md
+++ /dev/null
@@ -1,96 +0,0 @@
-# flashing heart blocks challenges
-
-Coding challenges for the flashing heart tutorial.
-
-## Before we get started
-
-Complete the [flashing heart](/lessons/flashing-heart/activity) activity and your code will look like this:
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
- . # . # .
- # # # # #
- # # # # #
- . # # # .
- . . # . .
- `)
- basic.pause(500)
- basic.clearScreen()
- basic.pause(500)
-
-})
-```
-
-
-### Challenge 1
-
-Let's plot a different image. Let's display a broken heart!
-
-To do this, you need to add a block between the last line and the end loop. Add a `show LEDs` block and then add a `pause` of 500 milliseconds.
-
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
- . # . # .
- # # # # #
- # # # # #
- . # # # .
- . . # . .
- `)
- basic.pause(500)
- basic.clearScreen()
- basic.pause(500)
- basic.showLeds(`
- . # . # .
- # . # # #
- # . . # #
- . # # # .
- . . # . .
- `)
- basic.pause(500)
-})
-```
-
-
-* click *run main* to see if the code works as expected.
-
-### Challenge 2
-
-Now let's alternate flashing the heart and the broken heart. To do this, we need to add a `clear screen` block and then add a `pause` block of 500 milliseconds under the new code we added in Challenge 1.
-
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
- . # . # .
- # . # # #
- # . . # #
- . # # # .
- . . # . .
- `)
- basic.pause(500)
- basic.clearScreen()
- basic.pause(500)
- basic.showLeds(`
- . # . # .
- # . # # #
- # . . # #
- . # # # .
- . . # . .
- `)
- basic.pause(500)
- basic.clearScreen()
- basic.pause(500)
-})
-
-```
-
-
-* click *run main* to see if the code works as expected.
-
-### Challenge 3
-
-You now have a heart and broken heart flashing! Now plot a new image to alternate in with the heart and broken heart.
-
diff --git a/docs/lessons/flashing-heart/quiz-answers.md b/docs/lessons/flashing-heart/quiz-answers.md
deleted file mode 100644
index d946be68..00000000
--- a/docs/lessons/flashing-heart/quiz-answers.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# flashing heart blocks quiz answers
-
-Learn how to create an image with a variable.
-
-This is the answer key for the [flashing heart quiz](/lessons/flashing-heart/quiz).
-
-## 1. Describe what pause does
-
-Pause program execution for the specified number of milliseconds.
-
-## 2. Write the code that leaves an image on the screen for 1 second (1000 milliseconds)
-
-
-```blocks
-basic.pause(1000)
-```
-
-## 3. Write the code that leaves an image on the screen for 1.5 seconds (1500 milliseconds)
-
-```blocks
-basic.pause(1500)
-```
-
-
diff --git a/docs/lessons/flashing-heart/quiz.md b/docs/lessons/flashing-heart/quiz.md
deleted file mode 100644
index 07991a0b..00000000
--- a/docs/lessons/flashing-heart/quiz.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# flashing heart blocks quiz
-
-Learn how to create a blinking image with a variable.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [flashing heart activity](/lessons/flashing-heart/activity).
-
-Answer the questions while completing the activity. Pay attention to the dialogues!
-
-## 1. Describe what `pause` does?
-
-
-
-## 2. Write the code that leaves an image on the screen for 1 second (1000 milliseconds)
-
-
-
-
-## 3. Write the code that leaves an image on the screen for 1.5 seconds (1500 milliseconds)
-
-
-
diff --git a/docs/lessons/game-counter.md b/docs/lessons/game-counter.md
deleted file mode 100644
index 04f6939d..00000000
--- a/docs/lessons/game-counter.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# game counter lesson
-
-Learn how to create a counter with with on button pressed.
-
-## Topic
-
-Game Library
-
-## Quick Links
-
-* [activity](/lessons/game-counter/activity)
-* [challenges](/lessons/game-counter/challenges)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to create game blocks to keep track of the current score. We will be learning how to create a game using the blocks called `add points to score`, `score` as well as simple commands such as on button pressed and show number.
-
-## Documentation
-
-```cards
-game.addScore(1)
-input.onButtonPressed(Button.A, () => {})
-basic.showNumber(0)
-```
-
-## Objectives
-
-* learn how arithmetic operators operate on numbers and return a number
-* learn how to run code when an input button is pressed
-* learn how to show a score on the LED screen
diff --git a/docs/lessons/game-counter/activity.md b/docs/lessons/game-counter/activity.md
deleted file mode 100644
index 0c44cef8..00000000
--- a/docs/lessons/game-counter/activity.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# game counter activity
-
-Have you ever tried to create a game counter? The concept is fairly simply: increase the game `score` with `on button pressed` .
-
-Let's start by adding `on button (A) pressed` will run each time the user presses A. Let's add a line of code that increments `score` by `1`.
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- game.addScore(1);
-});
-```
-
-
-Let's add a `add points to score` block to keep track of the current count. Since the count will change with the `add points to score` blocks, add a game block `score` to display the count on screen.
-
-
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- game.addScore(1);
- basic.showNumber(game.score())
-});
-```
-
-
-
-### ~avatar boothing
-
-Excellent, you're ready to continue with the [challenges](/lessons/game-counter/challenges)!
-
-### ~
-
diff --git a/docs/lessons/game-counter/challenges.md b/docs/lessons/game-counter/challenges.md
deleted file mode 100644
index 4a47fb37..00000000
--- a/docs/lessons/game-counter/challenges.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# game counter challenges
-
-Coding challenges for the game counter.
-
-## Before we get started
-
-Complete the following [activity](/lessons/game-counter/activity) . Your code should look like this:
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- game.addScore(1);
- basic.showNumber(game.score())
-});
-```
-
-### Challenge 1
-
-Let's add the code to `score` when `B` is pressed. Add an event handler with `on button (B) pressed` then add the code to `score`.
-
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- game.addScore(1);
- basic.showNumber(game.score())
-});
-
-input.onButtonPressed(Button.B, () => {
- game.addScore(-1);
- basic.showNumber(game.score())
-});
-```
-
-
-### Challenge 3
-
-Now let's try to reset the counter when the @boardname@ is shaken. You will need to register an event handler with `on shake`.
-
diff --git a/docs/lessons/game-of-chance.md b/docs/lessons/game-of-chance.md
deleted file mode 100644
index b19fe9f8..00000000
--- a/docs/lessons/game-of-chance.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# game of chance blocks lesson
-
-create an answering machine on the @boardname@
-
-## Topic
-
-Game Library
-
-## Quick Links
-
-* [activity](/lessons/game-of-chance/activity)
-* [challenges](/lessons/game-of-chance/challenges)
-
-## Prior learning / place of lesson in scheme of work
-
-Learn how to creating a message with a **game over** to write your message. We will be learning how to create a message using show string and on button pressed.
-
-## Documentation
-
-
-```cards
-game.gameOver()
-basic.showString("Hello!")
-input.onButtonPressed(Button.A, () => {})
-```
-
-## Objectives
-
-* learn how to use the game library
-* learn how to show a string on the LED screen one character at a time
-* learn how to use to register an event handler that will execute whenever an input button is pressed
diff --git a/docs/lessons/game-of-chance/activity.md b/docs/lessons/game-of-chance/activity.md
deleted file mode 100644
index a00a4644..00000000
--- a/docs/lessons/game-of-chance/activity.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# game of chance blocks activity
-
-Learn to create an answering machine on the @boardname@
-
-We will use `show string` to show text on the LED screen. *String* is a common name for *text* in programming languages. The function `show string` scrolls the text column by column at a *150* milliseconds interval. If you want to speed up or down the scrolling, simply change the *150*.
-
-```blocks
-basic.showString("SELECT A BUTTON")
-```
-
-### ~avatar boothing
-
-Excellent, you're ready to continue with the [challenges](/lessons/game-of-chance/challenges)!
-
-### ~
-
diff --git a/docs/lessons/game-of-chance/challenges.md b/docs/lessons/game-of-chance/challenges.md
deleted file mode 100644
index b70c4c03..00000000
--- a/docs/lessons/game-of-chance/challenges.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# game of chance challenges
-
-Coding challenges for the answering machine tutorial.
-
-## Before we get started
-
-Complete the [game of chance](/lessons/game-of-chance/activity) activity and your code will look like this:
-
-```blocks
-basic.showString("SELECT A BUTTON")
-```
-
-
-### Challenge 1
-
-Now we need to to play the game of chance by responding to the message. We want to respond `YOU WIN` when button `A` is pressed. Add a condition for button `A` and inside it show the string `YOU WIN`.
-
-
-```blocks
-basic.showString("SELECT A BUTTON")
-input.onButtonPressed(Button.A, () => {
- basic.showString("YOU WIN")
-})
-
-```
-
-* `Run` the code to see if it works as expected.
-
-### Challenge 2
-
-What if @boardname@'s answer to the question is GAME OVER? Let's have `GAME OVER` be displayed when button `B` is pressed. Add a condition for button `B` and inside it show the `GAME OVER`.
-
-```blocks
-basic.showString("SELECT A BUTTON")
-input.onButtonPressed(Button.A, () => {
- basic.showString("YOU WIN")
-})
-input.onButtonPressed(Button.B, () => {
- game.gameOver()
-})
-```
-
-* `Run` the code to see if it works as expected.
-
-### Challenge 3
-
-When you are asked a yes or no question, do you always say yes or no? Add a condition for `on shake` that displays `TRY AGAIN`.
-
diff --git a/docs/lessons/glowing-pendulum.md b/docs/lessons/glowing-pendulum.md
deleted file mode 100644
index 407aeb72..00000000
--- a/docs/lessons/glowing-pendulum.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# glowing pendulum blocks lesson
-
-construct a pendulum that glows using acceleration.
-
-## Topic
-
-Acceleration
-
-## Quick Links
-
-* [activity](/lessons/glowing-pendulum/activity)
-* [tutorial](/lessons/glowing-pendulum/tutorial)
-* [challenges](/lessons/glowing-pendulum/challenges)
-* [quiz](/lessons/glowing-pendulum/quiz)
-* [quiz answers](/lessons/glowing-pendulum/quiz-answers)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to get the acceleration **acceleration**, `acceleration` value (g-force), in one of three specified dimensions. We will be learning how to get the acceleration using forever loop, a local variable, acceleration, the math library, as well as simple commands, such as led set brightness and led plot all.
-
-## Documentation
-
-```cards
-basic.forever(() => {})
-let x = 0
-input.acceleration(Dimension.X)
-Math.abs(0)
-led.setBrightness(255)
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-```
-
-## Objectives
-
-* learn how to repeat code in the background forever
-* learn how create a local variable to store data, so that you can use it in your code
-* learn how to get the acceleration value (g-force), in one of three specified dimensions
-* learn how to return the absolute value
-* learn how to sets the brightness of the LED screen
-* learn how to turn on all the LED lights on the LED screen
-
diff --git a/docs/lessons/glowing-pendulum/activity.md b/docs/lessons/glowing-pendulum/activity.md
deleted file mode 100644
index 73d529e2..00000000
--- a/docs/lessons/glowing-pendulum/activity.md
+++ /dev/null
@@ -1,108 +0,0 @@
-# glowing pendulum block activity
-
-Construct a pendulum that glows using acceleration.
-
-Welcome! This activity will teach how to construct a pendulum that glows using acceleration. Let's get started!
-
-Turn on all the LEDs.
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- `)
-```
-
-Create a **forever** loop that will constantly display the appropriate brightness on the LED display.
-
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- `)
-basic.forever(() => {
-
-})
-```
-
-Now let's measure the acceleration on the `y` axis and store that value in a variable. The `acceleration(y)` function will provide the value.
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- `)
-basic.forever(() => {
- let acceleration = input.acceleration(Dimension.Y);
-});
-```
-
-Since the @boardname@ will be swinging back and forth, the acceleration will only be positive half of the time. Thus, to always get a positive value, we want to take the absolute value of the acceleration.
-
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- `)
-basic.forever(() => {
- let acceleration = input.acceleration(Dimension.Y);
- acceleration = Math.abs(acceleration)
-});
-```
-
-The function `acceleration(y)` returns a number between 0 and 1024. We want to use this value for the brightness of the @boardname@, but the `set brightness()` only accepts a value between 0 and 256. Thus, we need to divide the acceleration by 4 to ensure we will be in the appropriate range.
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- `)
-basic.forever(() => {
- let acceleration = input.acceleration(Dimension.Y);
- acceleration = Math.abs(acceleration);
- acceleration = acceleration / 4;
-});
-
-```
-
-Now let's use our acceleration value to set the brightness on the @boardname@.
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- `)
-basic.forever(() => {
- let acceleration = input.acceleration(Dimension.Y);
- acceleration = Math.abs(acceleration);
- acceleration = acceleration / 4;
- led.setBrightness(acceleration)
-});
-```
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/glowing-pendulum/challenges)!
-
-### ~
-
diff --git a/docs/lessons/glowing-pendulum/challenges.md b/docs/lessons/glowing-pendulum/challenges.md
deleted file mode 100644
index c3a10a31..00000000
--- a/docs/lessons/glowing-pendulum/challenges.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# glowing pendulum blocks challenges
-
-Coding challenges for the glowing pendulum tutorial.
-
-## Before we get started
-
-Complete the following [glowing pendulum activity](/lessons/glowing-pendulum/activity) and your code should look like this:
-
-```blocks
-basic.forever(() => {
- let acceleration = input.acceleration(Dimension.Y);
- acceleration = Math.abs(acceleration);
- acceleration = acceleration / 4;
- led.setBrightness(acceleration)
- basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- `)
-});
-
-
-```
-
-### Challenge 1
-
-![](/static/mb/lessons/glowing-pendulum-0.jpg)
-
-Hold the @boardname@ in your hand in a dark room. Move the @boardname@ like a pendulum and produce a slow image that captures the pattern of the @boardname@ LEDs.
-
-### Challenge 2
-
-Replace "y" in `acceleration(y)` with "x" or "z". Changing the axis will cause the @boardname@ to measure the force in a different direction. What differences in the resulting pattern does this replacement make?
-
diff --git a/docs/lessons/glowing-pendulum/quiz-answers.md b/docs/lessons/glowing-pendulum/quiz-answers.md
deleted file mode 100644
index fb9f6425..00000000
--- a/docs/lessons/glowing-pendulum/quiz-answers.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# glowing pendulum quiz answers
-
-construct a pendulum that glows using acceleration.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [glowing pendulum activity](/lessons/glowing-pendulum/activity)
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Why are you creating a 'forever' loop?
-
-
-
-We are creating a forever loop to constantly display the appropriate brightness on the LED display.
-
-## 2. Write the line of code to measure the acceleration with respect to the "y" axis and store this value in a local variable called 'acceleration'.
-
-
-
-```blocks
-let acceleration = input.acceleration("y")
-```
-
-## 3. After storing the acceleration in a variable, write the code to take the absolute value of the acceleration, and store this value inside 'acceleration'.
-
-
-
-```blocks
-let acceleration = input.acceleration(Dimension.X)
-let accelerationAbsolute = Math.abs(acceleration)
-```
-
-## 4. Write the code to use the acceleration value from question 3 to set the brightness on the @boardname@.
-
-
-
-```blocks
-let accelerationX = input.acceleration(Dimension.X)
-let accelerationAbsolute = Math.abs(accelerationX)
-let accelerationDivided = accelerationX / 4
-led.setBrightness(accelerationX)
-```
-
diff --git a/docs/lessons/glowing-pendulum/quiz.md b/docs/lessons/glowing-pendulum/quiz.md
deleted file mode 100644
index f7448441..00000000
--- a/docs/lessons/glowing-pendulum/quiz.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# glowing pendulum quiz
-
-construct a pendulum that glows using acceleration.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [glowing pendulum tutorial](/lessons/glowing-pendulum/activity)
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Why are you creating a 'forever' loop?
-
-
-
-## 2. Write the line of code to measure the acceleration with respect to the "y" axis and store this value in a local variable called 'acceleration'.
-
-
-
-## 3. After storing the acceleration in a variable, write the code to take the absolute value of the acceleration, and store this value inside 'acceleration'.
-
-
-
-## 4. Write the code to include acceleration value question 3 to set the brightness on the @boardname@.
-
-
diff --git a/docs/lessons/glowing-pendulum/tutorial.md b/docs/lessons/glowing-pendulum/tutorial.md
deleted file mode 100644
index b0640bd9..00000000
--- a/docs/lessons/glowing-pendulum/tutorial.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# glowing pendulum block tutorial
-
-The glowing pendulum changes the screen brightness based on the acceleration measured on the @boardname@.
-
-### Rebuild the game!
-
-The blocks have been shuffled! Put them back together so that...
-* all LEDs are turned on
-* the @boardname@ repeats code **forever** that
- * reads the acceleration along the ``y`` axis,
- * calculate the absolute value of the acceleration
- * scales down the acceleration value by a factor of `4`
- * uses the scaled value to set the screen **brightness**
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- `)
-basic.forever(() => {
- let acceleration = input.acceleration(Dimension.Y);
- acceleration = Math.abs(acceleration);
- acceleration = acceleration / 4;
- led.setBrightness(acceleration)
-});
-```
diff --git a/docs/lessons/graphics.md b/docs/lessons/graphics.md
deleted file mode 100644
index 2c003095..00000000
--- a/docs/lessons/graphics.md
+++ /dev/null
@@ -1,82 +0,0 @@
-# blocks - rendering graphics
-
-An introduction to graphics for the Block Editor.
-
-## Before we get started
-
-Ensure you have completed the 'Hello, world!' and Loop tutorials and tested them on a simulator or on @boardname@.
-
-```blocks
-basic.showString("HI!");
-```
-
-The @boardname@ has a grid of 25 LEDs, so we can use these to display images.
-
-We’ve already experimented with the `show string` block that displays a string (some text) that we program it to. However we can use more blocks from the **Images** drawer to render or display images in different ways.
-
-### Pixel Art
-
-We can draw little images from the LEDs by ticking boxes. Drag a `show image` block from the **Images** drawer and connect in a `create image` block. You can customize this image by clicking boxes to tick whether the LED will turn on or off. For example, if we were creating a music player we may want to the show the `play` block:
-
-![](/static/mb/blocks/lessons/graphics-0.png)
-
-### Plotting points
-
-We can also code our bug to plot a point by giving an x (horizontal) and y (vertical) coordinates, from 0 to 4. Click the **LED** drawer and drag a `plot` block. Try changing the coordinates and see the effect this has on the @boardname@.
-
-We can also unplot a point (turn the LED off again) using the `unplot` block. So we could create a flashing LED program, using the `pause` block to create a delay.
-
-```blocks
-basic.forever(() => {
- led.plot(2,2)
- basic.pause(100)
- led.unplot(2,2)
- basic.pause(100)
-})
-```
-
-We can also use the `basic.clearScreen` block to turn off all LEDs.
-
-## Tip
-
-The pause block is in milliseconds, so setting it to 1000 will have a pause of a single second.
-
-### Devising algorithms for shapes
-
-An algorithm is a set of steps to follow to solve a problem. We can begin to draw shapes on the @boardname@ using an algorithm.
-For example, we could draw a straight line with this code:
-
-```blocks
-for(let i = 0; i <=4; i++) {
- led.plot(i, 0);
- basic.pause(200)
-}
-```
-
-Our algorithm is: increase **i** by 1 **from 0** to **4**, and **plot** the point **x=i**, **y=0**. The pause block allows this line to be animated (drawn frame by frame).
-
-Try devising an algorithm for a diagonal line using the code above and the variable **i**.
-```sim
-basic.forever(() => {
- for(let i = 0; i <=4; i++) {
- led.plot(i, i);
- basic.pause(200)
- }
- basic.clearScreen();
-})
-```
-
-### Animations
-
-Animations are changes happening at a certain rate. For example, we could add the `pause` block from the **Basic** drawer with our square algorithm – this will slowly draw a square (as an animation).
-
-We could create more complex animations, for example we could make our @boardname@ display an explosion or fireworks.
-
-### Image variables
-
-We can create image variables so we can easily display an image at a later point. For example:
-
-![](/static/mb/blocks/lessons/graphics-4.png)
-
-This uses the blocks from the **Variable** drawer, and the **create image** block from the **Image** drawer. This means our image can be displayed without having to replicate the `create image` block each time.
-
diff --git a/docs/lessons/guess-the-number.md b/docs/lessons/guess-the-number.md
deleted file mode 100644
index d383300c..00000000
--- a/docs/lessons/guess-the-number.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# guess the number lesson
-
-Learn to create a random number with input from button A.
-
-## Topic
-
-Math - Pick Random
-
-## Quick links
-
-* [activity](/lessons/guess-the-number/activity)
-* [tutorial](/lessons/guess-the-number/tutorial)
-* [challenges](/lessons/guess-the-number/challenges)
-* [quiz](/lessons/guess-the-number/quiz)
-* [quiz answers](/lessons/guess-the-number/quiz-answers)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to create numbers randomly by using the input of the @boardname@. We will be learning how to create random numbers with input using a local variable as well as simple commands, such as pick number and show number.
-
-## Documentation
-
-```cards
-input.onButtonPressed(Button.A, () => {})
-let x = 0
-basic.showNumber(0)
-Math.random(3)
-basic.clearScreen()
-```
-
-## Objectives
-
-* learn how to run code when an input button is pressed
-* learn how a variable is a place where you can store data
-* learn how to set the value of a local variable
-* learn how to returns a random number
-* learn how to show a number on the LED screen, one digit at a time (scrolling left to right)
-* learn how to turn off all the LED lights on the LED screen
diff --git a/docs/lessons/guess-the-number/activity.md b/docs/lessons/guess-the-number/activity.md
deleted file mode 100644
index f6569481..00000000
--- a/docs/lessons/guess-the-number/activity.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# guess the number activity
-
-Guess the number with math random.
-
-### ~avatar avatar
-
-Welcome! This tutorial will help you create a guess the number game! Let's get started!
-
-### ~
-
-Add an event handler when button `A` is pressed.
-
-
-```blocks
-input.onButtonPressed(Button.A, () => {
-})
-
-```
-
-Create a local variable of type number `x` and set it to a random number using `pick random`. `pick random` 9 generates a random number between `0` and `9`.
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- let x = Math.random(10)
-})
-
-```
-
-Show the random number on the screen.
-
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- let x = Math.random(10)
- basic.showNumber(x)
-})
-
-```
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/guess-the-number/challenges)!
-
-### ~
-
diff --git a/docs/lessons/guess-the-number/challenges.md b/docs/lessons/guess-the-number/challenges.md
deleted file mode 100644
index 8f466d53..00000000
--- a/docs/lessons/guess-the-number/challenges.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# guess the number challenges
-
-Coding challenges for the guess the number tutorial.
-
-## Before we get started
-
-Complete the following [guided tutorial](/lessons/guess-the-number/activity), and your code should look like this:
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- let x = Math.random(9)
- basic.showNumber(x)
-})
-```
-
-### Challenge 1
-
-When button `B` is pressed, we want to clear the screen. This will make it so users can play your game over and over again! Add an event handler to handle this case.
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- let x = Math.random(9)
- basic.showNumber(x)
-})
-input.onButtonPressed(Button.B, () => {
- basic.clearScreen()
-})
-```
-
-### Challenge 2
-
-Show an animation when you clear the screen! Choose what animation makes most sense to you. Be creative!
-
diff --git a/docs/lessons/guess-the-number/quiz-answers.md b/docs/lessons/guess-the-number/quiz-answers.md
deleted file mode 100644
index 2371da96..00000000
--- a/docs/lessons/guess-the-number/quiz-answers.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# guess the number quiz answers
-
-Learn how to generate a random number on the @boardname@.
-
-This is the answer key for the [guess the number quiz](/lessons/guess-the-number/quiz).
-
-## 1. What is on button pressed?
-
-Answers may vary. Generally, on button pressed run code when an input button is pressed. The @boardname@ has two input buttons: A and B.
-
-## 2. Consider the following directions
-
-Write the line of code that creates a condition when the @boardname@ button A is pressed.
-
-
-```blocks
-input.onButtonPressed(Button.A, () => {
-})
-```
-
-## 3. Write the line of code that creates a **local variable** and a **random number**.
-
-
-
-
-```blocks
-let randomNumber = Math.random(10)
-```
-
-## 4.
-If the rectangle below represents the @boardname@, shade the areas that will be displayed. Explain why that particular area is shaded.
-
-```blocks
-let randomNumber = Math.random(10)
-```
-
-
-![](/static/mb/lessons/guess-the-number-0.png)
-
-The random number generator will return a number from 0 to the limit. However, not including the limit unless the limit is 0. So you can place an X to represent any single digit number.
-
diff --git a/docs/lessons/guess-the-number/quiz.md b/docs/lessons/guess-the-number/quiz.md
deleted file mode 100644
index 40c5953d..00000000
--- a/docs/lessons/guess-the-number/quiz.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# guess the number quiz
-
-Learn how to generate a random number on the @boardname@.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [guess the number tutorial](/lessons/guess-the-number/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Describe what "input -> on button pressed" does?
-
-
-
-## 2. Write the line of code that creates a condition for on button A pressed.
-
-
-
-## 3. Write the line of code that creates a `local variable` called `randomNumber` and will return a number from 0 to a limit of 10.
-
-
-
-## 4. Draw the area that could be lit based on the code below. Explain why you chose to draw that number.
-
-```blocks
-let randomNumber = Math.random(10)
-basic.showNumber(randomNumber, 150)
-```
-
-![](/static/mb/empty-microbit.png)
-
-
-
diff --git a/docs/lessons/guess-the-number/tutorial.md b/docs/lessons/guess-the-number/tutorial.md
deleted file mode 100644
index b9202c81..00000000
--- a/docs/lessons/guess-the-number/tutorial.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# guess the number tutorial
-
-### ~avatar avatar
-
-This tutorial will help you create a guess the number game! Let's get started!
-
-### ~
-
-### Rebuild the game!
-
-The blocks have been shuffled! Put them back together so that...
-* when the user presses button ``A``,
- * generate a random number
- * show the number on screen
-
-
-```shuffle
-input.onButtonPressed(Button.A, () => {
- let x = Math.random(10)
- basic.showNumber(x)
-})
-```
-
diff --git a/docs/lessons/happy-birthday.md b/docs/lessons/happy-birthday.md
deleted file mode 100644
index aaadd41b..00000000
--- a/docs/lessons/happy-birthday.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# happy birthday blocks lesson
-
-display beautiful images on the @boardname@.
-
-## Topic
-
-Music
-
-## Quick Links
-
-* [activity](/lessons/happy-birthday/activity)
-* [challenges](/lessons/happy-birthday/challenges)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to convert your @boardname@ into a music player using pins P0 and GND, earphones (or speakers), as well as crocodile clips (or spring clips).
-We will be learning how to code musical notes using simple commands such as play, keys, and notes.
-
-## Objectives
-
-* learn how to code music on the @boardname@
-* learn how to setup the @boardname@ as a music player
diff --git a/docs/lessons/happy-birthday/activity.md b/docs/lessons/happy-birthday/activity.md
deleted file mode 100644
index d2455114..00000000
--- a/docs/lessons/happy-birthday/activity.md
+++ /dev/null
@@ -1,56 +0,0 @@
-# happy birthday blocks activity
-
-Play sounds with music blocks.
-
-Have you ever tried to play a song on an instrument? Let's try coding the song "Happy Birthday" on the @boardname@ !
-
-Let's start by adding the code in the music drawer that includes a single musical chord (or pitched sound) with the `play` block. Then insert the chord "C". Once you are done coding, don't forget to run your code in the simulator or the @boardname@.
-
-```blocks
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-```
-
-* click run to see if the code works as expected.
-
-We want to continue to adding musical chords with the `play` block. So insert the appropriate chord blocks: `D`, `F`, `G` to complete the first part of the song. Modify your code so that your code looks like this.
-
-```blocks
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.D), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.F), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.E), music.beat(BeatFraction.Quarter));
-basic.pause(100);
-```
-
-* click run to see if the code works as expected.
-
-We want to continue to adding musical chords with the `play` block. Then insert the appropriate chords: `B`, `C`, `D`, `E` , `F` to complete the second part of the song. Modify your code so that your code looks like this.
-
-```blocks
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.D), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.F), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.E), music.beat(BeatFraction.Quarter));
-basic.pause(100);
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.D), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.G), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.F), music.beat(BeatFraction.Quarter));
-basic.pause(100);
-```
-
-
-* click run to see if the code works as expected.
-
-### ~avatar boothing
-
-Excellent, you're ready to continue with the [challenges](/lessons/happy-birthday/challenges)!
-
-### ~
-
diff --git a/docs/lessons/happy-birthday/challenges.md b/docs/lessons/happy-birthday/challenges.md
deleted file mode 100644
index 514b9ce2..00000000
--- a/docs/lessons/happy-birthday/challenges.md
+++ /dev/null
@@ -1,104 +0,0 @@
-# happy birthday blocks challenges
-
-Coding challenges for finishing the song, happy birthday.
-
-## Before we get started
-
-Complete the [happy birthday](/lessons/happy-birthday/activity) activity and your code will look like this:
-
-
-```blocks
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.D), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.F), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.E), music.beat(BeatFraction.Quarter));
-basic.pause(100);
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.D), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.G), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.F), music.beat(BeatFraction.Quarter));
-basic.pause(100);
-
-
-```
-
-### ~
-
-### Challenge 1
-
-Let's code the third part of Happy Birthday!
-
-To do this, you need to add blocks after the last line of the `play` blocks. We want to continue to adding musical chords with the `play` block. Then insert the appropriate chord blocks `G`, `E`, `C`, `B`, `A` to complete the third part of the song. Modify your code so that your code looks like this.
-
-```blocks
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.D), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.F), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.E), music.beat(BeatFraction.Quarter));
-basic.pause(100);
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.D), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.G), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.F), music.beat(BeatFraction.Quarter));
-basic.pause(100);
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.A), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.F), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.E), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.D), music.beat(BeatFraction.Quarter));
-basic.pause(100);
-```
-
-* click *run * to see if the code works as expected.
-
-### Challenge 2
-
-Finally, we continue to adding the appropriate `play` block and fit the following chords blocks `F`, `E`, `C`, `D` to complete the third part of the song. Modify your code so that your code looks like this.
-
-
-```blocks
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.D), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.F), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.E), music.beat(BeatFraction.Quarter));
-basic.pause(100);
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.D), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.G), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.F), music.beat(BeatFraction.Quarter));
-basic.pause(100);
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.A), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.F), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.E), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.D), music.beat(BeatFraction.Quarter));
-basic.pause(100);
-music.playTone(music.noteFrequency(Note.A), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.A), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.B), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.F), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.G), music.beat(BeatFraction.Quarter));
-music.playTone(music.noteFrequency(Note.F), music.beat(BeatFraction.Quarter));
-```
-
-
-* click *run * to see if the code works as expected.
-
-### Challenge 3
-
-You now have a the ability to create music on the @boardname@. Try to code another favourite song.
-
diff --git a/docs/lessons/headbands.md b/docs/lessons/headbands.md
deleted file mode 100644
index eba4675e..00000000
--- a/docs/lessons/headbands.md
+++ /dev/null
@@ -1,120 +0,0 @@
-# headbands lesson
-
-create a charades game that can be played with your friends.
-
-## Topic
-
-Collection
-
-## Quick Links
-
-* [activity](/lessons/headbands/activity)
-* [quiz](/lessons/headbands/quiz)
-* [quiz answers](/lessons/headbands/quiz-answers)
-
-
-## Class
-
-Year 7
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to create a charades game with **collections**, ` create -> Collection of` , to store and retrieve data . We will be learning how to create a charades game using global variables, collection of string, add, Boolean, on logo down, on logo up, forever loop, if statements, running time as well as simple commands, such as show string and show number.
-
-## What the teacher needs to know
-
-* Algorithm: An unambiguous set of rules or a precise step-bystep guide to solve a problem or achieve a particular objective.
-* Command: An instruction for the computer to execute, written in a particular programming language.
-* Data: A structured set of numbers, possibly representing digitised text, images, sound or video, which can be processed or transmitted by a computer, also used for numerical (quantitative) information.
-* Decomposing: The process through which problems or systems are broken down into their component parts, each of which may then be considered separately.
-* Input: Data provided to a computer system, such as via a keyboard, mouse, microphone, camera or physical sensors.
-* Output: The information produced by a computer system for its user, typically on a screen, through speakers or on a printer, but possibly through the control of motors in physical systems.
-* Programmable toys: Robots designed for children to use, accepting input, storing short sequences of simple instructions and moving according to this stored program.
-* Program: A stored set of instructions encoded in a language understood by the computer that does some form of computation, processing input and/or stored data to generate output.
-* Script: A computer program typically executed one line at a time through an interpreter, such as the instructions for a Scratch character.
-* Selection: A programming construct in which one section of code or another is executed depending on whether a particular condition is met.
-* Sequence: To place program instructions in order, with each executed one after the other.
-* Simulation: Using a computer to model the state and behaviour of real-world (or imaginary) systems, including physical or social systems; an integral part of most computer games.
-* Variables: A way in which computer programs can store, retrieve or change data, such as a score, the time left, or the user’s name.
-
-**QuickStart Computing Glossary
-
-## Documentation
-
-* **collection**
-* **variables** : [read more...](/blocks/variables)
-* **Boolean** : [read more...](/blocks/logic/boolean)
-* **on logo up** [read more...](/reference/input/on-gesture)
-* **on screen down** [read more...](/reference/input/on-gesture)
-* **on screen up** [read more...](/reference/input/on-gesture)
-* **show string** : [read more...](/reference/basic/show-string)
-* **game library** : [read more...](/reference/game)
-
-## Resources
-
-* Activity: [tutorial](/lessons/headbands/activity)
-* Quiz: [quiz](/lessons/headbands/quiz)
-
-## Objectives
-
-* learn how a collection is a group of variables of the same type stored together
-* learn how to create a global variable as a place where you can store data so that you can use it later in your code, accessible across functions and in nested code blocks
-* learn how to repeat code in the background forever
-* learn how to learn how to conditionally run code depending on whether a condition is true or not
-* learn how to run code when the @boardname@ is oriented perpendicular to the floor with the logo down
-* learn how to get the number of milliseconds elapsed since the script began
-* learn how to show a string on the @boardname@ screen
-* learn how to show a number of the @boardname@ screen
-
-## Links to the National Curriculum Programmes of Study for Computing
-
-## Progression Pathways / Computational Thinking Framework
-
-#### Algorithms
-
-* Designs solutions (algorithms) that use repetition and two-way selection, ie if, then and else.(AL)
-* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
-* Recognises that different solutions exist for the same problem (AL) (AB) Understands that iteration is the repetition of a process such as a loop (AL)
-* Represents solutions using a structured notation (AL) (AB)
-
-#### Programming & Development
-
-* Creates programs that implement algorithms to achieve given goals (AL)
-* Declares and assigns variables(AB)
-* Understands the difference between, and appropriately uses if and if, then and else statements(AL)
-* Uses a variable and relational operators within a loop to govern termination (AL) (GE)
-* Has practical experience of a high-level textual language, including using standard libraries when programming(AB) (AL)
-* Uses a range of operators and expressions e.g. Boolean, and applies them in the context of program control. (AL)
-* Selects the appropriate data types(AL) (AB
-
-#### Data & Data Representation
-
-* Understands the difference between data and information(AB)
-* Performs more complex searches for information e.g. using Boolean and relational operators(AL) (GE) (EV)
-
-#### Hardware & Processing
-
-* Knows that computers collect data from various input devices, including sensors and application software (AB)
-
-#### Communication Networks
-
-* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
-
-#### Information Technology
-
-* Collects, organizes, and presents data and information in digital content (AB)
-* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
-* Uses criteria to evaluate the quality of solutions, can identify improvements making some refinements to the solution, and future solutions (EV)
-
-Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
-
-## Activity
-
-* time: 20 min.
-* [tutorial](/lessons/headbands/activity)
-* [quiz](/lessons/headbands/quiz)
-
-## Intended follow on
-
-Publish script to the classroom.
-
diff --git a/docs/lessons/headbands/activity.md b/docs/lessons/headbands/activity.md
deleted file mode 100644
index ea7c7618..00000000
--- a/docs/lessons/headbands/activity.md
+++ /dev/null
@@ -1,90 +0,0 @@
-# headbands activity
-
-## Before we get started
-
-Your beginning code should look like this:
-
-```blocks
-let coll: string[] = []
-coll.push("puppy")
-coll.push("clock")
-coll.push("night")
-coll.push("cat")
-coll.push("cow")
-input.onLogoUp(() => {
- let index = Math.random(coll.length)
- let word = coll[index]
- basic.showString(word, 150)
-})
-input.onScreenDown(() => {
- game.addScore(1)
-})
-game.startCountdown(30000)
-```
-
-### Challenge 1
-
-Let's add more words for the player to act out! But first, we need to increase the time in one round to give the player more time get through all the words. Let's change the `game->start countdown` statement.
-
-```blocks
-let coll: string[] = []
-coll.push("puppy")
-coll.push("clock")
-coll.push("night")
-coll.push("cat")
-coll.push("cow")
-input.onLogoUp(() => {
- let index = Math.random(coll.length)
- let word = coll[index]
- basic.showString(word, 150)
-})
-input.onScreenDown(() => {
- game.addScore(1)
-})
-
-game.startCountdown(60000)
-```
-
-* Run your code to see if it works as expected
-
-### Challenge 2
-
-Now let's add 5 more words to our list of charade words. Right above the the line `word:=coll->at(index)` add 5 lines that say `coll->add("")`. In this example, we will add the words **bicycle, telephone, sun, car, and ant** but you can add whatever words you like.
-
-```blocks
-let coll: string[] = []
-coll.push("puppy")
-coll.push("clock")
-coll.push("night")
-coll.push("cat")
-coll.push("cow")
-coll.push("bicycle")
-coll.push("telephone")
-coll.push("sun")
-coll.push("car")
-coll.push("ant")
-input.onLogoUp(() => {
- let index = Math.random(coll.length)
- let word = coll[index]
- basic.showString(word, 150)
-})
-input.onScreenDown(() => {
- game.addScore(1)
-})
-game.startCountdown(30000)
-```
-
-* Run your code to see if it works as expected.
-
-### Challenge 3
-
-Remove a life using `game->remove life` when the screen is down using the `input->on screen down` event.
-
-### Challenge 4
-
-The collection has a function `random` that returns a random element. Update your code to use this function instead of using `math->random`.
-
-### Challenge 5!
-
-Play the game and try guessing all these words in less than 2 minutes!
-
diff --git a/docs/lessons/headbands/quiz-answers.md b/docs/lessons/headbands/quiz-answers.md
deleted file mode 100644
index 792892c3..00000000
--- a/docs/lessons/headbands/quiz-answers.md
+++ /dev/null
@@ -1,82 +0,0 @@
-# headbands quiz answers
-
-create a charades game with a collection of strings.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [headbands tutorial](/lessons/headbands/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. What is the meaning of the term 'collection' in programming? What is a 'collection' of strings?
-
-
-
-A 'collection' is a group of variables of the same type stored together. A 'collection' of strings is a group of strings stored together.
-
-## 2. Consider the following lines of code.
-
-```blocks
-let coll: string[] = []
-coll.push("puppy")
-coll.push("clock")
-```
-
-Write the line of code that will display the string "puppy" using `data->coll`.
-
-
-
-```blocks
-let coll: string[] = []
-basic.showString(coll[0], 150)
-```
-
-## 3. Consider the following lines of code.
-
-```blocks
-let coll: string[] = []
-coll.push("puppy")
-coll.push("clock")
-coll.push("cat")
-```
-
-Write the line of code that will display the string "cat" using `data->coll`.
-
-
-
-```blocks
-let coll: string[] = []
-basic.showString(coll[2], 150)
-```
-
-## 4. Consider the following line of code.
-
-```blocks
-let coll: string[] = []
-```
-
-Write the five (5) lines of code that will add the following five words to `data->coll`: puppy, clock, night, cat, cow.
-
-
-
-```blocks
-let coll: string[] = []
-coll.push("puppy")
-coll.push("clock")
-coll.push("night")
-coll.push("cat")
-coll.push("cow")
-```
-
-## 5. Write the code to get a string from the collection at a random position.
-
-
-
-```blocks
-let coll: string[] = []
-let index = Math.random(coll.length)
-let word = coll[index]
-```
-
diff --git a/docs/lessons/headbands/quiz.md b/docs/lessons/headbands/quiz.md
deleted file mode 100644
index ebbfc8d0..00000000
--- a/docs/lessons/headbands/quiz.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# headbands quiz
-
-create a charades game with a collection of strings.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [headbands tutorial](/lessons/headbands/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. What is the meaning of the term 'collection' in programming? What is a 'collection' of strings?
-
-
-
-
-
-## 2. Write the line of code that will display the string "puppy" using "data->coll".
-
-```blocks
-let coll = ([])
-coll.push("puppy")
-coll.push("clock")
-```
-
-
-
-## 3. Write the line of code that will display the string "cat" using `"data->coll".
-
-```blocks
-let coll = ([])
-coll.push("puppy")
-coll.push("clock")
-coll.push("cat")
-```
-
-
-
-## 4. Write the five (5) lines of code that will add the following five words to `data->coll`: puppy, clock, night, cat, cow.
-
-```ts
-let coll = ([])
-```
-
-
-
-
-
-
-
-
-
-## 5. Write the code to get a string from the collection at a random position.
-
-
-
-
-
-
-
-
-
diff --git a/docs/lessons/hero.md b/docs/lessons/hero.md
deleted file mode 100644
index 8c0365ba..00000000
--- a/docs/lessons/hero.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# hero
-
-Make a game to test hand-eye coordination
-
-* [activity](/lessons/hero/activity)
diff --git a/docs/lessons/hero/activity.md b/docs/lessons/hero/activity.md
deleted file mode 100644
index e2896aa6..00000000
--- a/docs/lessons/hero/activity.md
+++ /dev/null
@@ -1,278 +0,0 @@
-# hero
-
-A classic game, Hero, in which you must capture the food and flee away from the ghost!
-
-### ~avatar avatar
-
-This tutorial will teach you how to create a hero game to capture food while dodging the ghost; the game was inspired by the classic arcade game Pac Man.
-
-### ~
-
-First we need to create a function create sprite at the x, y coordinates and that set the variable called hero on the @boardname@ the first time we play.
-
-
-```blocks
-
-let hero = game.createSprite(2, 2)
-
-```
-
-Let's set up where we want our ghost will be. Create starting positions of the hero, ghost, and food in each individual quadrant. We will ensure that the ghost, food, and hero is set apart. Divide the @boardname@ into 4 quadrants. We don't want hero to be too close to the ghost so let's make the ghost starting positions in the 3 other quadrants. Hero is in the one quadrant. To do this, we need to keep track of the middle point in each quadrant. Create sprite at the x, y coordinates for the hero, food, and ghost.
-
-```blocks
-let hero = game.createSprite(2, 2)
-let food = game.createSprite(4, 4)
-let ghost = game.createSprite(0, 0)
-```
-
-
-Create a function called change blink that will plot a blinking point so the player can tell between a ghost and hero.
-
-```blocks
-let hero = game.createSprite(2, 2);
-let food = game.createSprite(4, 4);
-let ghost = game.createSprite(0, 0);
-ghost.change(LedSpriteProperty.Blink, 100);
-
-```
-
-
-We want to identify the food so the player moves towards the food. We need to set the `brightness` of the `variable` food to 8. The brightness of the LED screen is expressed as a number between 0 and 255.
-
-```blocks
-let hero = game.createSprite(2, 2);
-let food = game.createSprite(4, 4);
-let ghost = game.createSprite(0, 0);
-ghost.change(LedSpriteProperty.Blink, 100);
-food.set(LedSpriteProperty.Brightness, 8);
-
-```
-
-We want to include a block from the Loops drawer called `While`. Then set the `While` loop to `true`. This code will be important for repeating code of the game logic of the game. The game will continue to run using `While` loop while the Boolean condition is true. Finally, include a `pause` of 400 milliseconds before the logic of the game begins.
-
-
-```blocks
-let hero = game.createSprite(2, 2);
-let food = game.createSprite(4, 4);
-let ghost = game.createSprite(0, 0);
-ghost.change(LedSpriteProperty.Blink, 100);
-food.set(LedSpriteProperty.Brightness, 8);
-while (true) {
- basic.pause(400);
-}
-
-
-```
-
-Let's create a function that will take care of keep the ghost pursuing the hero. We will need to a conditional statement that checks the position of the ghost and hero. The first condition will check if the horizontal coordinates of the ghost is less than the horizontal coordinates of the hero. We create a function from the Game drawer that will check the coordinates of the hero and the ghost. Finally, change the x-direction of the ghost by 1.
-
-Then create another function that will take care of keep the ghost pursuing the hero. We will need to a conditional statement that checks the position of the ghost and hero. The second condition will check if the horizontal coordinates of the ghost is greater than the x-direction of hero. We create a function from the Game drawer that will check the x-direction of hero and ghost. Finally, change the x-direction of the ghost by -1.
-
-```blocks
-let hero = game.createSprite(2, 2);
-let food = game.createSprite(4, 4);
-let ghost = game.createSprite(0, 0);
-ghost.change(LedSpriteProperty.Blink, 100);
-food.set(LedSpriteProperty.Brightness, 8);
-while (true) {
- basic.pause(400);
- if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
- ghost.change(LedSpriteProperty.X, 1);
- }
- else if (ghost.get(LedSpriteProperty.X) > hero.get(LedSpriteProperty.X)) {
- ghost.change(LedSpriteProperty.X, -1 );
- }
- else if (false) {
- }
- else if (false) {
- }
-
-}
-
-
-```
-
-Let's create the third function and forth function that continues the same logic in the y-direction of pacman and ghost. We create a function from the Game drawer that will check the y-direction of pacman and ghost. Finally, change the y-direction of the ghost to continue following pacman.
-
-```blocks
-let hero = game.createSprite(2, 2);
-let food = game.createSprite(4, 4);
-let ghost = game.createSprite(0, 0);
-ghost.change(LedSpriteProperty.Blink, 100);
-food.set(LedSpriteProperty.Brightness, 8);
-while (true) {
- basic.pause(400);
- if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
- ghost.change(LedSpriteProperty.X, 1);
- }
- else if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
- ghost.change(LedSpriteProperty.X, -1 );
- }
- else if (ghost.get(LedSpriteProperty.Y) < hero.get(LedSpriteProperty.Y)) {
- ghost.change(LedSpriteProperty.Y, 1);
- }
- else if (ghost.get(LedSpriteProperty.Y) > hero.get(LedSpriteProperty.Y)) {
- ghost.change(LedSpriteProperty.Y, -1 );
- }
-
-}
-
-
-```
-
-Let's enable pacman to move in the x-direction and move in the y-direction with acceleration using the micor:bit sensor
-
-```blocks
-let hero = game.createSprite(2, 2);
-let food = game.createSprite(4, 4);
-let ghost = game.createSprite(0, 0);
-ghost.change(LedSpriteProperty.Blink, 100);
-food.set(LedSpriteProperty.Brightness, 8);
-while (true) {
- basic.pause(400);
- if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
- ghost.change(LedSpriteProperty.X, 1);
- }
- else if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
- ghost.change(LedSpriteProperty.X, -1 );
- }
- else if (ghost.get(LedSpriteProperty.Y) < hero.get(LedSpriteProperty.Y)) {
- ghost.change(LedSpriteProperty.Y, 1);
- }
- else if (ghost.get(LedSpriteProperty.Y) > hero.get(LedSpriteProperty.Y)) {
- ghost.change(LedSpriteProperty.Y, -1 );
- }
- if (input.acceleration(Dimension.X) > 200) {
- hero.change(LedSpriteProperty.X, 1);
- }
- else if (input.acceleration(Dimension.X) < -200 ) {
- hero.change(LedSpriteProperty.X, -1 );
- }
- if (input.acceleration(Dimension.Y) > 200) {
- hero.change(LedSpriteProperty.Y, 1);
- }
- else if (input.acceleration(Dimension.Y) > -200 ) {
- hero.change(LedSpriteProperty.Y, -1 );
- }
-}
-```
-
-Let's setup the logic for the food. If hero is `touching` "food", increase the score of the game by 1 and `set` ``x`` -direction of food randomly randomly from 0 to 4 and `set` ``y``-direction of food randomly from 0 to 4.
-
-```blocks
-let hero = game.createSprite(2, 2);
-let food = game.createSprite(4, 4);
-let ghost = game.createSprite(0, 0);
-ghost.change(LedSpriteProperty.Blink, 100);
-food.set(LedSpriteProperty.Brightness, 8);
-while (true) {
- basic.pause(400);
- if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
- ghost.change(LedSpriteProperty.X, 1);
- }
- else if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
- ghost.change(LedSpriteProperty.X, -1 );
- }
- else if (ghost.get(LedSpriteProperty.Y) < hero.get(LedSpriteProperty.Y)) {
- ghost.change(LedSpriteProperty.Y, 1);
- }
- else if (ghost.get(LedSpriteProperty.Y) > hero.get(LedSpriteProperty.Y)) {
- ghost.change(LedSpriteProperty.Y, -1 );
- }
- if (input.acceleration(Dimension.X) > 200) {
- hero.change(LedSpriteProperty.X, 1);
- }
- else if (input.acceleration(Dimension.X) < -200 ) {
- hero.change(LedSpriteProperty.X, -1 );
- }
- if (input.acceleration(Dimension.Y) > 200) {
- hero.change(LedSpriteProperty.Y, 1);
- }
- else if (input.acceleration(Dimension.Y) > -200 ) {
- hero.change(LedSpriteProperty.Y, -1 );
- }
- if (hero.isTouching(food)) {
- game.addScore(1);
- food.set(LedSpriteProperty.X, Math.random(5));
- food.set(LedSpriteProperty.Y, Math.random(5));
- }
-
-}
-
-
-```
-
-
-
-Let's setup the logic for the food and the ghost to be in different quadrants. Finally, the game over component is now upon the game. If the hero is `touching` the ghost, let's display `game over`
-
-```blocks
-
-let hero = game.createSprite(2, 2);
-let food = game.createSprite(4, 4);
-let ghost = game.createSprite(0, 0);
-ghost.change(LedSpriteProperty.Blink, 100);
-food.set(LedSpriteProperty.Brightness, 8);
-while (true) {
- basic.pause(400);
- if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
- ghost.change(LedSpriteProperty.X, 1);
- }
- else if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
- ghost.change(LedSpriteProperty.X, -1 );
- }
- else if (ghost.get(LedSpriteProperty.Y) < hero.get(LedSpriteProperty.Y)) {
- ghost.change(LedSpriteProperty.Y, 1);
- }
- else if (ghost.get(LedSpriteProperty.Y) > hero.get(LedSpriteProperty.Y)) {
- ghost.change(LedSpriteProperty.Y, -1 );
- }
- if (input.acceleration(Dimension.X) > 200) {
- hero.change(LedSpriteProperty.X, 1);
- }
- else if (input.acceleration(Dimension.X) < -200 ) {
- hero.change(LedSpriteProperty.X, -1 );
- }
- if (input.acceleration(Dimension.Y) > 200) {
- hero.change(LedSpriteProperty.Y, 1);
- }
- else if (input.acceleration(Dimension.Y) > -200 ) {
- hero.change(LedSpriteProperty.Y, -1 );
- }
- if (hero.isTouching(food)) {
- game.addScore(1);
- food.set(LedSpriteProperty.X, Math.random(5));
- food.set(LedSpriteProperty.Y, Math.random(5));
- if (food.get(LedSpriteProperty.X) < 2 && food.get(LedSpriteProperty.Y) < 2) {
- ghost.set(LedSpriteProperty.X, 4);
- ghost.set(LedSpriteProperty.Y, 4);
- }
- else if (food.get(LedSpriteProperty.X) > 2 && food.get(LedSpriteProperty.Y) < 2) {
- ghost.set(LedSpriteProperty.X, 0);
- ghost.set(LedSpriteProperty.Y, 4);
- }
- else if (food.get(LedSpriteProperty.X) < 2 && food.get(LedSpriteProperty.Y) > 2) {
- ghost.set(LedSpriteProperty.X, 4);
- ghost.set(LedSpriteProperty.Y, 0);
- }
- else {
- ghost.set(LedSpriteProperty.X, 0);
- ghost.set(LedSpriteProperty.Y, 0);
- }
- }
- if (hero.isTouching(ghost)) {
- game.gameOver();
- }
-
-}
-ghost.set(LedSpriteProperty.X, 4);
-
-
-```
-
-### ~avatar avatar
-
-Congratulations! You have a homemade hero game based on the classic version of PacMan
-
-### ~
-
diff --git a/docs/lessons/looper.md b/docs/lessons/looper.md
deleted file mode 100644
index 6785a183..00000000
--- a/docs/lessons/looper.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# looper blocks lesson
-
-Learn to control blinking LEDs.
-
-## Topic
-
-For Loop
-
-## Quick links
-
-* [activity](/lessons/looper/activity)
-* [challenges](/lessons/looper/challenges)
-* [quiz](/lessons/looper/quiz)
-* [quiz answers](/lessons/looper/quiz-answers)
-
-
-## Class
-
-Year 7
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to control a blinking LED. We will be learning how to create a blinking app using the for loop as well as simple commands, such as plot and pause.
-
-## Documentation
-
-```cards
-for (let i = 0; i < 5; i++) {}
-basic.showNumber(0)
-basic.pause(100)
-
-
-```
-
-## Objectives
-
-* learn how to repeat code a fixed number of times
-* learn how to show a number on the LED screen, one digit at a time (scrolling from left to right)
-* learn how to pause program execution for the specified number of milliseconds
-* learn how to arithmetic operators operate on numbers and return a number
diff --git a/docs/lessons/looper/activity.md b/docs/lessons/looper/activity.md
deleted file mode 100644
index 47bc47d6..00000000
--- a/docs/lessons/looper/activity.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# looper blocks activity
-
-Welcome! This activity will teach how to display a series of numbers for a for loop. Let's get started!
-
-Let's create a for loop where `0` is the loop's starting value, `i` is the index variable, and `5` is the ending value. The index variable `i` starts at 0 and increases by 1 each time through the loop. The loop ends when `i = 5`.
-
-
-```blocks
-for (let i = 0; i < 6; i++) {
-
-}
-```
-
-We will show the number of times the loop has been executed. It will go from zero to five times.
-
-```blocks
-for (let i = 0; i < 6; i++) {
- basic.showNumber(i)
-}
-```
-
-The for loop while cycle through to six immediately unless we pause for a little bit in between each loop.
-
-```blocks
-for (let i = 0; i < 6; i++) {
- basic.showNumber(i)
- basic.pause(2000)
-}
-```
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/looper/challenges)!
-
-### ~
-
diff --git a/docs/lessons/looper/challenges.md b/docs/lessons/looper/challenges.md
deleted file mode 100644
index 5bf0c3e0..00000000
--- a/docs/lessons/looper/challenges.md
+++ /dev/null
@@ -1,85 +0,0 @@
-# looper block challenges
-
-Coding challenges for the looper.
-
-## Before we get started
-
-Complete the following guided activity:
-
-* [activity](/lessons/looper/activity)
-
-At the end of the activity, your code should look like this:
-
-
-```blocks
-for (let i = 0; i < 6; i++) {
- basic.showNumber(i)
- basic.pause(2000)
-}
-```
-
-### Challenge 1
-
-What if we want to count up to lucky number 7 instead? Let's do that by changing the ending value to `7` instead of `5`.
-
-
-```blocks
-for (let i = 0; i < 8; i++) {
- basic.showNumber(i)
- basic.pause(2000)
-}
-
-```
-
-* Run the program now to see your changes.
-
-### Challenge 2
-
-What about 9? Let's do that by changing the ending value to `9`.
-
-```blocks
-for (let i = 0; i < 10; i++) {
- basic.showNumber(i)
- basic.pause(2000)
-}
-
-
-```
-
-
-* Run your code to see the new counter.
-
-### Challenge 3
-
-Now let's start counting from `3` instead! Our for loop will always start at `0` so we simply add `3` to the `i` variable when passing it to `show number`.
-
-```blocks
-for (let i = 0; i < 10; i++) {
- basic.showNumber(i+3)
- basic.pause(2000)
-}
-
-
-```
-
-Run it on the simulator!
-
-### Challenge 4
-
-Now, let's **count down from 9**. Change the line `show number(i + 2, 150)` to `show number(9 - i, 150)`.
-
-```blocks
-for (let i = 0; i < 10; i++) {
- basic.showNumber(9-i)
- basic.pause(2000)
-}
-
-```
-
-
-* Run the code to make sure it is doing what is expected.
-
-### Challenge 5
-
-After counting down from `9` let's show the string `BOOOM`!
-
diff --git a/docs/lessons/looper/quiz-answers.md b/docs/lessons/looper/quiz-answers.md
deleted file mode 100644
index 251ed688..00000000
--- a/docs/lessons/looper/quiz-answers.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# looper quiz answers
-
-Learn how to create a series of numbers with a for loop.
-
-This is the answer key for the [looper quiz](/lessons/looper/quiz).
-
-## 1. What is a for loop?
-
-Answers will vary. In general, for loop refers to the code that repeats for a fixed number of times. We specify the LED using x, y coordinates.
-
-## 2. Consider the following code
-
-```blocks
-for (let i = 0; i < 4; i++) {
- basic.showNumber(i, 150)
-}
-```
-
-If the rectangle below represents the @boardname@, shade the areas that will be displayed. Explain why that particular area is shaded.
-
-Let's create a for loop where `0` is the loop's starting value, `i` is the index variable, and `4` is the ending value. The index variable `i` starts at 0 and increases by 1 each time through the loop. The loop ends when `i = 4`.
-
-![](/static/mb/lessons/looper-0.png)
-
-## 3. Consider the following code
-
-```blocks
-for (let i1 = 0; i1 < 6; i1++) {
- basic.showNumber(i1, 150)
-}
-```
-
-If the rectangle below represents the @boardname@, shade the areas that will be displayed. Explain why that particular area is shaded.
-
-Let's create a for loop where `0` is the loop's starting value, `i` is the index variable, and `6` is the ending value. The index variable `i` starts at 0 and increases by 1 each time through the loop. The loop ends when `i = 6`.
-
-![](/static/mb/lessons/looper-0.png)
-
-![](/static/mb/lessons/looper-1.png)
-
diff --git a/docs/lessons/looper/quiz.md b/docs/lessons/looper/quiz.md
deleted file mode 100644
index d58949ad..00000000
--- a/docs/lessons/looper/quiz.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# looper quiz
-
-Learn how to create a series of numbers with a for loop.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [looper tutorial](/lessons/looper/activity)
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Describe what a "for loop" does?
-
-
-
-## 2. Draw the areas where the LEDs will be lit based on the code below. Explain why you chose to draw those numbers.
-
-```blocks
-for (let i = 0; i < 4; i++) {
- basic.showNumber(i, 150)
-}
-```
-
-![](/static/mb/lessons/looper-2.png)
-
-
-
-## 3. Draw the areas where the LEDs will be lit based on the code below. Explain why you chose to draw those numbers.
-
-```blocks
-for (let i1 = 0; i1 < 6; i1++) {
- basic.showNumber(i1, 150)
-}
-```
-
-![](/static/mb/lessons/looper-3.png)
-
-![](/static/mb/lessons/looper-3.png)
-
-
-
diff --git a/docs/lessons/love-meter.md b/docs/lessons/love-meter.md
deleted file mode 100644
index 1c0ef508..00000000
--- a/docs/lessons/love-meter.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# love meter blocks lesson
-
-Create a love meter with the @boardname@.
-
-## Topic
-
-On Pin Pressed
-
-## Quick Links
-
-* [activity](/lessons/love-meter/activity)
-* [quiz](/lessons/love-meter/quiz)
-* [quiz answers](/lessons/love-meter/quiz-answers)
-* [challenges](/lessons/love-meter/challenges)
-
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to use the **pin pressed**, `on pin pressed` to run code when the user holds the GND pin with one hand, and presses pin 0 with the other hand, thus completing a circuit. We will be learning how to create a love meter using input on pin pressed, a local variable, math random, If (conditional) as well as simple commands, such as show number, pause, and show string.
-
-## Documentation
-
-```cards
-if (true) {}
-input.onPinPressed(TouchPin.P0, () => {})
-let x = 0
-Math.random(3)
-basic.showNumber(0)
-basic.pause(100)
-```
diff --git a/docs/lessons/love-meter/activity.md b/docs/lessons/love-meter/activity.md
deleted file mode 100644
index b683a781..00000000
--- a/docs/lessons/love-meter/activity.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# love meter blocks activity
-
-Create a love meter with the @boardname@
-
-### ~avatar avatar
-
-Welcome! This activity will help you create a love meter with the @boardname@. Let's get started!
-
-### ~
-
-Begin by registering an event with `on pin pressed` *P0* to know when someone is holding pin *P0* and pin *Gnd*.
-
-
-```blocks
-input.onPinPressed(TouchPin.P0, () => {
-
-})
-
-```
-
-We are going to create a meter that displays a random number from *0* to *10*. We use *10* as `random number up to` returns a number between *0* and *n*.
-
-
-```blocks
-input.onPinPressed(TouchPin.P0, () => {
- let x = Math.random(10)
-})
-
-```
-
-Finally, let's show that number on the @boardname@. You are registering an event handler that will execute on the @boardname@ whenever the user holds the GND pin with one hand, and presses pin 0 with the other hand, thus completing a circuit
-
-
-```blocks
-input.onPinPressed(TouchPin.P0, () => {
- let x = Math.random(10)
- basic.showNumber(x)
-})
-
-```
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/love-meter/challenges)
-
-### ~
-
diff --git a/docs/lessons/love-meter/challenges.md b/docs/lessons/love-meter/challenges.md
deleted file mode 100644
index 9fc63d73..00000000
--- a/docs/lessons/love-meter/challenges.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# love meter blocks challenges
-
-Create a love meter with the @boardname@
-
-## Before we get started
-
-You should work on these challenges after the following the [love meter activity](/lessons/love-meter/activity)
-
-```blocks
-input.onPinPressed(TouchPin.P0, () => {
- let x = Math.random(10)
- basic.showNumber(x)
-})
-
-```
-
-### Challenge 1
-
-Add a pause of 3000 milliseconds (3 seconds) after showing the number so that the number won't immediately disappear in the next challenge.
-
-
-```blocks
-input.onPinPressed(TouchPin.P0, () => {
- let x = Math.random(10)
- basic.showNumber(x)
- basic.pause(3000)
-})
-```
-
-### Challenge 2
-
-If the rating **x** is between *0* and *3* (strictly less than *4*), display the text "HORRIBLE!".
-
-
-```blocks
-input.onPinPressed(TouchPin.P0, () => {
- let x = Math.random(10)
- basic.showNumber(x)
- basic.pause(3000)
- if (x < 4) {
- basic.showString("HORRIBLE")
- }
-})
-```
-
-### Challenge 3
-
-**If** the rating is between 4 and 7, display the text "MEDIOCRE!" **else** display the text "MATCHED!"
-
-```blocks
-input.onPinPressed(TouchPin.P0, () => {
- let x = Math.random(10)
- basic.showNumber(x)
- basic.pause(3000)
- if (x < 4) {
- basic.showString("HORRIBLE")
- } else if (x < 8) {
- basic.showString("MEDIOCRE")
- } else {
- basic.showString("MATCHED")
- }
-
-})
-```
-
-### Challenge 4
-
-Use `show LEDs` to display images instead of text for each case.
-
diff --git a/docs/lessons/love-meter/quiz-answers.md b/docs/lessons/love-meter/quiz-answers.md
deleted file mode 100644
index 584d68fb..00000000
--- a/docs/lessons/love-meter/quiz-answers.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# love meter blocks quiz answers
-
-The answers to the love meter quiz.
-
-This is the answer key for the [love meter quiz](/lessons/love-meter/quiz).
-
-## 1. What does `on pin pressed(P0)` do?
-
-
-
-It's a method that runs code when the user holds the GND pin with a finger of one hand and presses pin P0, completing a circuit.
-
-## 2. Write the code.
-
-Create a condition for `on pin pressed (P0)`.
-
-```blocks
-input.onPinPressed(TouchPin.P0, () => {
-
-})
-```
-
-## 3. What does this line of code doing?
-
-```blocks
-let x = Math.random(9)
-```
-
-
-It stores random number between 0 and 9 then stores that number in a variable.
-
-## 4. Why do you have to add 1 to variable x?
-
-```blocks
-let item = 0;
-item = 0;
-basic.showNumber(item + 1);
-```
-
-You have to add 1 if you want to generate a random number between 1 and 10 .
-
-## 5. Why do you have to hold ground (GND) to make this work on the @boardname@?
-
-
-You have told GND to complete the circuit.
-
diff --git a/docs/lessons/love-meter/quiz.md b/docs/lessons/love-meter/quiz.md
deleted file mode 100644
index b7dbca74..00000000
--- a/docs/lessons/love-meter/quiz.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# love meter blocks quiz
-
-Learn how to make a love meter that you can try with someone.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [love meter activity](/lessons/love-meter/activity).
-
-Answer the questions below while completing the activity. Pay attention to the dialogues!
-
-## 1. Describe what `on pin pressed` does?
-
-
-## 2. Create a condition for on pin pressed (P0).
-
-
-## 3. Describe what this line of code does?
-
-```blocks
-let x = Math.random(9)
-```
-
-
-
-## 4. Describe what adding 1 to variable x does?
-
-```blocks
-let item = 0;
-item = 0;
-basic.showNumber(item + 1);
-```
-
-
-
-## 5. Describe why you must hold ground (GND) before pressing (P0) to run a program using `on pin pressed(P0)` on the @boardname@
-
-
diff --git a/docs/lessons/lucky-7.md b/docs/lessons/lucky-7.md
deleted file mode 100644
index b670450e..00000000
--- a/docs/lessons/lucky-7.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# lucky 7 blocks lesson
-
-Show a number on the LED screen.
-
-## Topic
-
-Show Number
-
-## Quick Links
-
-* [activity](/lessons/lucky-7/activity)
-* [quiz](/lessons/lucky-7/quiz)
-* [quiz answers](/lessons/lucky-7/quiz-answers)
-* [challenges](/lessons/lucky-7/challenges)
-
-
-## Prior learning / place of lesson in scheme of work
-
-Learn how to display a number, `show number` to generate numbers. We will be learning how to create numbers using show number as well as simple commands, such as pause.
-
diff --git a/docs/lessons/lucky-7/activity.md b/docs/lessons/lucky-7/activity.md
deleted file mode 100644
index 373f7c25..00000000
--- a/docs/lessons/lucky-7/activity.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# lucky 7 blocks activity
-
-Show a number on the LED screen.
-
-### ~avatar avatar
-
-Let's learn how to show the lucky number 7 on the LED screen.
-
-### ~
-
-We will use `show number` to display a number on the screen. The argument (`7`) is the number to display.
-
-```blocks
-basic.showNumber(7)
-```
-
-### ~avatar boothing
-
-Excellent, you're ready to continue with the [challenges](/lessons/lucky-7/challenges)!
-
-### ~
-
diff --git a/docs/lessons/lucky-7/challenges.md b/docs/lessons/lucky-7/challenges.md
deleted file mode 100644
index 5c02261e..00000000
--- a/docs/lessons/lucky-7/challenges.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# lucky 7 blocks challenges
-
-Coding challenges for lucky 7.
-
-## Before we get started
-
-Complete the [lucky 7 activity](/lessons/lucky-7/activity) and your code will look like this:
-
-```blocks
-basic.showNumber(7)
-```
-
-### Challenge 1
-
-But we also should pause before showing another number. Let's add a pause of 500 milliseconds.
-
-```blocks
-basic.showNumber(7)
-basic.pause(500)
-```
-
-### Challenge 2
-
-What about other multiples of 7? Let's display the next multiple of 7 on the screen!
-
-```blocks
-basic.showNumber(7)
-basic.pause(500)
-basic.showNumber(14)
-```
-
-* Run the code to see if it works as expected.
-
-### Challenge 3
-
-Keep displaying multiples of 7 such as 21 and 28...
-
diff --git a/docs/lessons/lucky-7/quiz-answers.md b/docs/lessons/lucky-7/quiz-answers.md
deleted file mode 100644
index faec755a..00000000
--- a/docs/lessons/lucky-7/quiz-answers.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# lucky 7 blocks quiz answers
-
-Show a number on the @boardname@.
-
-This is the answer key for the [lucky 7 quiz](/lessons/lucky-7/quiz).
-
-## 1. Describe what `show number` does?
-
-Answers may vary. This will show a number on the LED screen, one digit at a time (scrolling from left to right).
-
-## 2. Draw every LED that is ON after running this code
-
-```blocks
-basic.showNumber(7)
-```
-
-
-![](/static/mb/lessons/lucky-7-0.png)
-
-## 3. Draw every LED that is ON after running this code
-
-
-```blocks
-basic.showNumber(21)
-```
-
-![](/static/mb/lessons/lucky-7-1.png)
-
-## 4. Write the code that will be used to display the number 3 on the @boardname@.
-
-![](/static/mb/lessons/lucky-7-2.png)
-
-```blocks
-basic.showNumber(3)
-```
diff --git a/docs/lessons/lucky-7/quiz.md b/docs/lessons/lucky-7/quiz.md
deleted file mode 100644
index 03cb3fc8..00000000
--- a/docs/lessons/lucky-7/quiz.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# lucky 7 blocks quiz
-
-Show a number on the @boardname@
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [lucky 7 activity](/lessons/lucky-7/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Describe what "show number" does?
-
-
-
-## 2. Draw every LED that is ON after running this code
-
-```blocks
-basic.showNumber(7)
-```
-
-![](/static/mb/empty-microbit.png)
-
-## 3. Draw every LED that is ON after running this code
-
-```blocks
-basic.showNumber(21)
-```
-
-
-![](/static/mb/lessons/answering-machine-4.png)
-
-
-
-## 4. Write the code that will be used to display the number 3 on the @boardname@.
-
-![](/static/mb/lessons/lucky-7-3.png)
-
-
diff --git a/docs/lessons/lucky-7/tutorial.md b/docs/lessons/lucky-7/tutorial.md
deleted file mode 100644
index 73776e91..00000000
--- a/docs/lessons/lucky-7/tutorial.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# lucky 7 blocks challenges
-
-Coding challenges for lucky 7.
-
-###~ Avatar
-
-### @video td/videos/lucky-7-1-2
-
-### Rebuild the game!
-
-The blocks have been shuffled! Put them back together so that…
-* The blocks should be multiples of 7 and a pause between the numbers
-
-```shuffle
-basic.showNumber(7)
-basic.pause(500)
-basic.showNumber(14)
-```
-
-### Hints and tips
-
-Cut out these documentation cards to help you!
-
-```cards
-basic.showNumber()
-basic.pause()
-```
-
-* Run the code to see if it works as expected.
-
-
diff --git a/docs/lessons/magic-8.md b/docs/lessons/magic-8.md
deleted file mode 100644
index 0a706cf0..00000000
--- a/docs/lessons/magic-8.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# magic 8 lesson
-
-a fortune teller game with the @boardname@.
-
-## Topic
-
-If (Conditionals)
-
-## Quick Links
-
-* [activity](/lessons/magic-8/activity)
-* [tutorial](/lessons/magic-8/tutorial)
-* [challenges](/lessons/magic-8/challenges)
-* [quiz](/lessons/magic-8/quiz)
-* [quiz answers](/lessons/magic-8/quiz-answers)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to creating **conditionals**, `if condition do` to conditionally run code depending on whether a condition is true or not. We will be learning how to create a fortune telling app using local variable and conditionals (If), input on shake as well as simple commands, such as show string, show number, and clear screen.
-
-## Documentation
-
-```cards
-if (true) {}
-Math.random(3)
-input.onGesture(Gesture.Shake, () => {})
-basic.showNumber(7)
-basic.clearScreen()
-basic.showString("Hello!")
-```
-
-## Objectives
-
-* learn how to show a string on the LED screen
-* learn how to show a number on the LED screen
-* learn how to learn how to turn off all the LED lights on the LED screen
-* learn how to use the input on shake
-* learn how to learn how to create a local variable to store data so that you can use it later in your code
-* learn how to learn how to return a random number
-* learn how to learn how to conditionally run code depending on whether a condition is true or not
-
diff --git a/docs/lessons/magic-8/activity.md b/docs/lessons/magic-8/activity.md
deleted file mode 100644
index 4d0bb353..00000000
--- a/docs/lessons/magic-8/activity.md
+++ /dev/null
@@ -1,122 +0,0 @@
-# magic 8 activity
-
-Welcome! This activity will help you create a magic 8 ball on the @boardname@. Let's get started!
-
-Show a string to instruct the user how to play Magic 8! The magic 8 ball can only answer true or false questions.
-
-
-```blocks
-basic.showString("ASK A QUESTION")
-```
-
-Display the number 8.
-
-
-```blocks
-basic.showString("ASK A QUESTION")
-basic.showNumber(8)
-```
-
-Create a condition for when the @boardname@ is shaken. Then use the block `clear screen` to clear the 8 from the display.
-
-```blocks
-basic.showString("ASK A QUESTION")
-basic.showNumber(8)
-input.onGesture(Gesture.Shake, () => {
- basic.clearScreen()
-});
-```
-
-Create a variable of type number called **randomNumber**. Set **randomNumber** to a random number with a limit of 2. Remember the random function in the math library, picks a random number from 0 to the limit, but not including the limit unless it is 0.
-
-```blocks
-basic.showString("ASK A QUESTION")
-basic.showNumber(8)
-input.onGesture(Gesture.Shake, () => {
- basic.clearScreen()
- let randomNumber = Math.random(3)
-
-});
-```
-
-Create an if statement for the condition `if randomNumber = 2`. If **randomNumber** is 2, display the string 'Yes'
-
-
-```blocks
-basic.showString("ASK A QUESTION")
-basic.showNumber(8)
-input.onGesture(Gesture.Shake, () => {
- basic.clearScreen();
- let randomNumber = Math.random(3);
- if (randomNumber == 2) {
- basic.showString("YES");
- }
-});
-
-```
-
-
-Create an if statement for the condition `if randomNumber = 1`. If randomNumber is 1, display the string 'No'
-
-```blocks
-basic.showString("ASK A QUESTION")
-basic.showNumber(8)
-input.onGesture(Gesture.Shake, () => {
- basic.clearScreen()
- let randomNumber = Math.random(3)
- if (randomNumber == 2) {
- basic.showString("YES")
- } else if (randomNumber == 1) {
- basic.showString("NO")
- }
-})
-```
-
-If **randomNumber** is not 2 or 1, it must be 0. This is the else condition. If **randomNumber** is 0, display the string 'I don't know'
-
-```blocks
-basic.showString("ASK A QUESTION")
-basic.showNumber(8)
-input.onGesture(Gesture.Shake, () => {
- basic.clearScreen()
- let randomNumber = Math.random(3)
- if (randomNumber == 2) {
- basic.showString("YES")
- } else if (randomNumber == 1) {
- basic.showString("NO")
- } else {
- basic.showString("I DON'T KNOW")
-
- }
-
-})
-```
-
-
-Display the number 8 so users know they can ask the magic 8 ball another question!
-
-
-```blocks
-basic.showString("ASK A QUESTION")
-basic.showNumber(8)
-input.onGesture(Gesture.Shake, () => {
- basic.clearScreen()
- let randomNumber = Math.random(3)
- if (randomNumber == 2) {
- basic.showString("YES")
- } else if (randomNumber == 1) {
- basic.showString("NO")
- } else {
- basic.showString("I DON'T KNOW")
- }
- basic.showNumber(8)
-
-})
-```
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/magic-8/challenges)!
-
-### ~
-
diff --git a/docs/lessons/magic-8/challenges.md b/docs/lessons/magic-8/challenges.md
deleted file mode 100644
index 859e8efb..00000000
--- a/docs/lessons/magic-8/challenges.md
+++ /dev/null
@@ -1,105 +0,0 @@
-# magic 8 challenges
-
-Coding challenges for the magic 8 tutorial
-
-## Before we get started
-
-Complete the following [guided tutorial](/lessons/magic-8/activity), and your code should look like this:
-
-```blocks
-basic.showString("ASK A QUESTION")
-basic.showNumber(8)
-input.onGesture(Gesture.Shake, () => {
- basic.clearScreen()
- let randomNumber = Math.random(2)
- if (randomNumber == 2) {
- basic.showString("YES")
- } else if (randomNumber == 1) {
- basic.showString("NO")
- } else {
- basic.showString("I DON'T KNOW")
-
- }
- basic.showNumber(8)
-
-})
-```
-
-
-### Challenge 1
-
-Now let's increase the number of responses the magic 8 ball can give. How about 5 responses instead? Let's change the limit of `pick random` to 4.
-
-```blocks
-basic.showString("ASK A QUESTION")
-basic.showNumber(8)
-input.onGesture(Gesture.Shake, () => {
- basic.clearScreen()
- let randomNumber = Math.random(4)
- if (randomNumber == 2) {
- basic.showString("YES")
- } else if (randomNumber == 1) {
- basic.showString("NO")
- } else {
- basic.showString("I DON'T KNOW")
-
- }
- basic.showNumber(8)
-
-})
-```
-
-### Challenge 2
-
-Now have the magic 8 ball respond "Try again" if **randomNumber** is 3.
-
-
-```blocks
-basic.showString("ASK A QUESTION")
-basic.showNumber(8)
-input.onGesture(Gesture.Shake, () => {
- basic.clearScreen()
- let randomNumber = Math.random(4)
- if (randomNumber == 3) {
- basic.showString("TRY AGAIN")
- } else if (randomNumber == 2) {
- basic.showString("YES")
- } else if (randomNumber == 1) {
- basic.showString("NO")
- } else {
- basic.showString("I DON'T KNOW")
- }
- basic.showNumber(8)
-})
-```
-
-### Challenge 3
-
-Now what about if **randomNumber** is 4? Let's have the magic 8 ball respond "Definitely!".
-
-```blocks
-basic.showString("ASK A QUESTION")
-basic.showNumber(8)
-input.onGesture(Gesture.Shake, () => {
- basic.clearScreen()
- let randomNumber = Math.random(4)
- if (randomNumber == 4) {
- basic.showString("DEFINATELY")
- } else if (randomNumber == 3) {
- basic.showString("TRY AGAIN")
- } else if (randomNumber == 2) {
- basic.showString("YES")
- } else if (randomNumber == 1) {
- basic.showString("NO")
- }
- else {
- basic.showString("I DON'T KNOW")
- }
- basic.showNumber(8)
-})
-```
-
-**Challenge 4**
-
-Add 3 more responses so your magic 8 ball has 8 possible responses. Be creative!
-
diff --git a/docs/lessons/magic-8/quiz-answers.md b/docs/lessons/magic-8/quiz-answers.md
deleted file mode 100644
index 7ba2706e..00000000
--- a/docs/lessons/magic-8/quiz-answers.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# magic 8 quiz answers
-
-create a magic 8 ball on the @boardname@.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [magic 8 activity](/lessons/magic-8/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Define what an 'if statement' is.
-
-
-
-An if statement will conditionally run code depending on whether or not a condition is true.
-
-## 2. Create a Variable called ``x`` and assign it to a random number between 0 and 2.
-
-```blocks
-let x = Math.random(3)
-```
-
-## 3. Write the 'if statement' to check if ``x`` is equal to 2. Inside the 'if statement', display the string "Yes".
-
-```blocks
-let x = Math.random(3)
-if (x == 2) {
- basic.showString("Yes", 150)
-}
-```
-
-## 4. Write the 'if statement' to check if ``x`` is equal to 1. Inside the 'if statement', display the string "No."
-
-```blocks
-let x = Math.random(3)
-if (x == 2) {
- basic.showString("Yes", 150)
-} else if (x == 1) {
- basic.showString("No", 150)
-}
-```
-
-## 5. Write the code to display the string "I don't know" if the Variable ``x`` is neither 2 nor 1.
-
-```blocks
-let x = Math.random(3)
-if (x == 2) {
- basic.showString("Yes", 150)
-} else if (x == 1) {
- basic.showString("No", 150)
-}
-else {
- basic.showString("I don't know", 150)
-}
-```
-
-Note: Students are only required to write the bottom half of this answer (starting with "else").
-
diff --git a/docs/lessons/magic-8/quiz.md b/docs/lessons/magic-8/quiz.md
deleted file mode 100644
index cee797c7..00000000
--- a/docs/lessons/magic-8/quiz.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# magic 8 quiz
-
-create a magic 8 ball on the @boardname@.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [magic 8 tutorial](/lessons/magic-8/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Define what an 'if statement' is.
-
-
-
-## 2. Create a Variable called ``x`` and assign it to a random number between 0 and 2.
-
-
-
-## 3. Write the 'if statement' to check if ``x`` is equal to 2. Inside the 'if statement', display the string "Yes".
-
-
-
-## 4. Write the 'if statement' to check if ``x`` is equal to 1. Inside the 'if statement', display the string "No."
-
-
-
-## 5. Write the code to display the string "I don't know" if the Variable ``x`` is neither 2 nor 1.
-
-
-
diff --git a/docs/lessons/magic-8/tutorial.md b/docs/lessons/magic-8/tutorial.md
deleted file mode 100644
index f5596e5e..00000000
--- a/docs/lessons/magic-8/tutorial.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# Magic 8 tutorial
-
-Show a string to instruct the user how to play Magic 8! The magic 8 ball can only answer questions with "YES", "NO", or "MAYBE"...
-
-### Rebuild the game!
-
-The blocks have been shuffled! Put them back together so that...
-* show "ASK A QUESTION" on the screen
-* when the @boardname@ is shaken,
- * generate a random number between 0 and 2.
- * if the number is `2`, show "YES"
- * if the number is `1`, show "NO"
- * otherwise show "MAYBE"...
-
-```shuffle
-basic.showString("ASK A QUESTION")
-input.onGesture(Gesture.Shake, () => {
- let randomNumber = Math.random(3)
- if (randomNumber == 2) {
- basic.showString("YES")
- } else if (randomNumber == 1) {
- basic.showString("NO")
- } else {
- basic.showString("MAYBE")
- }
-})
-```
diff --git a/docs/lessons/magic-logo.md b/docs/lessons/magic-logo.md
deleted file mode 100644
index ce1c14fa..00000000
--- a/docs/lessons/magic-logo.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# magic logo lesson
-
-show an image that points up when the logo is up.
-
-
-
-## Topic
-
-On Logo Up
-
-## Quick Links
-
-* [activity](/lessons/magic-logo/activity)
-* [challenges](/lessons/magic-logo/challenges)
-* [quiz](/lessons/magic-logo/challenges)
-* [quiz answers](/lessons/magic-logo/challenges)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to plot image **on logo up**, `on logo up` to run code when the @boardname@ screen is facing up and vertically orientated. We will be learning how to plot an image with the logo up, basic show LEDs, and logo down.
-
-## Documentation
-```cards
-input.onLogoUp(() => {})
-input.onLogoDown(() => {})
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-```
-
-## Objectives
-
-* learn how to display an image on the @boardname@'s LED screen
-* learn how to run code when the @boardname@ screen is facing down and vertically orientated
-* learn how to run code when the @boardname@ screen is facing up and vertically orientated
-
diff --git a/docs/lessons/magic-logo/activity.md b/docs/lessons/magic-logo/activity.md
deleted file mode 100644
index 088a82f1..00000000
--- a/docs/lessons/magic-logo/activity.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# magic logo activity
-
-Show an image that points up when the logo is up.
-
-### ~avatar avatar
-
-Welcome! This tutorial will help you display an arrow pointing toward the logo! Let's get started.
-
-### ~
-
-Using the **accelerometer** sensor, the @boardname@ can detect when the **logo** is oriented **up**. We call that the **logo up** event. We will use `on logo up` to register an event handler that will run when the **logo up** event happens.
-
-```blocks
-input.onGesture(Gesture.LogoUp, () => {
-
-})
-```
-
-When the @boardname@ goes logo up, the code nested under the `on logo up` function will run. Let's add a line of code to show LEDs in there.
-
-```blocks
-input.onGesture(Gesture.LogoUp, () => {
- basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-})
-```
-
-Run your code and try to turn around the @boardname@ to see the **logo up** event in action!
-
-### ~avatar boothing
-
-Excellent, you're ready to continue with the [challenges](/lessons/magic-logo/challenges)!
-
-### ~
-
diff --git a/docs/lessons/magic-logo/challenges.md b/docs/lessons/magic-logo/challenges.md
deleted file mode 100644
index 131f0726..00000000
--- a/docs/lessons/magic-logo/challenges.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# magic logo challenges
-
-Coding challenges for magic logo.
-
-## Before we get started
-
-Complete the [magic logo](/lessons/magic-logo/activity) activity and your code will look like this:
-
-```blocks
-input.onLogoUp(() => {
- basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-})
-
-```
-
-
-### Challenge 1
-
-How about when the logo is down? We should display an arrow pointing downward!
-
-```blocks
-input.onLogoUp(() => {
- basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-})
-input.onLogoDown(() => {
- basic.showLeds(`
- . . # . .
- . . # . .
- # # # # #
- . # # # .
- . . # . .
- `)
-})
-
-
-```
-
-
-### Challenge 2
-
-Use the `on screen up` event to show a spinning arrow when the screen is turned up.
-
-### Challenge 3
-
-Display another animation using the `on screen up` event.
-
diff --git a/docs/lessons/magic-logo/quiz-answers.md b/docs/lessons/magic-logo/quiz-answers.md
deleted file mode 100644
index 8d0324bd..00000000
--- a/docs/lessons/magic-logo/quiz-answers.md
+++ /dev/null
@@ -1,56 +0,0 @@
-# magic logo quiz answers
-
-show an image that points up when the logo is up.
-
-## Name
-
-## Directions
-
-This is the answer key for the [magic logo quiz](/lessons/magic-logo/quiz)
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Define 'on logo up'
-
-A function that will run code when the @boardname@ screen is facing up and vertically orientated.
-
-
-
-## 2. Write the condition that detects when the @boardname@ logo is facing up and vertically orientated.
-
-The `logo up` event is raised when...
-
-* the screen is facing up and the board is horizontal
-* the screen is facing down and the board is horizontal
-* the board is vertical and the logo is facing up
-
-
-
-
-```blocks
-input.onLogoUp(() => {
-})
-```
-
-
-
-## 3. Write the code to display a downward pointing arrow when the logo is down.
-
-![](/static/mb/lessons/magic-logo-0.png)
-
-
-
-
-
-```blocks
-input.onLogoDown(() => {
- basic.showLeds(`
-. . # . .
-. . # . .
-# # # # #
-. # # # .
-. . # . .
-`)
-})
-```
-
diff --git a/docs/lessons/magic-logo/quiz.md b/docs/lessons/magic-logo/quiz.md
deleted file mode 100644
index 05b00fab..00000000
--- a/docs/lessons/magic-logo/quiz.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# magic logo quiz
-
-show an image that points up when the logo is up.
-
-## Name
-
-## Directions
-
-Use the hints from the [magic logo activity](/lessons/magic-logo/activity) to answer this quiz!
-
-## 1. Define what `input->on logo up` does
-
-
-
-## 2. Write the condition that detects when the @boardname@ logo is facing up and vertically orientated.
-
-## 3. Write the code to display a downward pointing arrow when the @boardname@ logo is down.
-
-![](/static/mb/lessons/magic-logo-0.png)
-
-
-
diff --git a/docs/lessons/night-light.md b/docs/lessons/night-light.md
deleted file mode 100644
index 4916d644..00000000
--- a/docs/lessons/night-light.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# night light lesson
-
-change the brightness of the @boardname@.
-
-## Topic
-
-Set Brightness
-
-## Quick Links
-
-* [activity](/lessons/night-light/activity)
-* [challenges](/lessons/night-light/challenges)
-* [quiz](/lessons/night-light/quiz)
-* [quiz answers](/lessons/night-light/quiz-answers)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to **set brightness** of an image `set brightness` to set the brightness of the LED screen. We will be learning how to set the brightness of the LED screen using LED show LEDs, on button pressed and set brightness.
-
-## Documentation
-
-```cards
-led.setBrightness(255)
-input.onButtonPressed(Button.A, () => {})
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-```
-
-## Objectives
-
-* learn how to set the brightness of the LED screen
-* learn how to run code when an input button is pressed
-* learn how to turn on all LEDs
-
diff --git a/docs/lessons/night-light/activity.md b/docs/lessons/night-light/activity.md
deleted file mode 100644
index ad60e38c..00000000
--- a/docs/lessons/night-light/activity.md
+++ /dev/null
@@ -1,65 +0,0 @@
-# night light activity
-
-Change the brightness of the @boardname@.
-
-### ~avatar avatar
-
-Welcome! This tutorial will teach you how to change the brightness of the @boardname@. Let's get started!
-
-### ~
-
-The brightness of the LED screen can be changed by using the `set brightness` function. This function takes a number between ``0`` (off) and ``255`` (full brightness).
-
-Let's build a little app that dims the screen when pressing button ``A``.
-
-Add the code `show LEDs` and select all LEDs to turn on all the LEDs. Don't hesitate to run your code to see what happens.
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- `)
-```
-
-The screen starts with a 50% brightness value by default (128). Add a new line of code to set the full brightness (255) using `set brightness`.
-
-```blocks
-led.setBrightness(255)
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- `)
-```
-
-Add a new event handler for `on button pressed(A)` and add the code to set the brightness to `64`.
-
-
-```blocks
-led.setBrightness(255)
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- `)
-input.onButtonPressed(Button.A, () => {
- led.setBrightness(64)
-})
-
-```
-
-
-
-### ~avatar boothing
-
-Excellent, you're ready to continue with the [challenges](/lessons/night-light/challenges)!
-
-### ~
-
diff --git a/docs/lessons/night-light/challenges.md b/docs/lessons/night-light/challenges.md
deleted file mode 100644
index aa1d09a0..00000000
--- a/docs/lessons/night-light/challenges.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# night light challenges
-
-Coding challenges for night light.
-
-## Before we get started
-
-Complete the following [guided tutorial](/lessons/night-light/activity), your code should look like this:
-
-
-```blocks
-led.setBrightness(255)
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- `)
-input.onButtonPressed(Button.A, () => {
- led.setBrightness(64)
-})
-
-```
-### Challenge 1
-
-
-
-What if we want to turn off all the LEDs? Let's do this by setting the brightness to `0` when button `B` is pressed. Add an event handler with `on button pressed(B)` add `set brightness(0)` to turn off the LEDs.
-
-
-```blocks
-led.setBrightness(255)
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- `)
-input.onButtonPressed(Button.A, () => {
- led.setBrightness(64)
-})
-input.onButtonPressed(Button.B, () => {
- led.setBrightness(0)
-})
-```
-
-
-### Challenge 3
-
-Add an event handler with `on shake` to change the LED brightness back to a `255`.
diff --git a/docs/lessons/night-light/quiz-answers.md b/docs/lessons/night-light/quiz-answers.md
deleted file mode 100644
index c3e78702..00000000
--- a/docs/lessons/night-light/quiz-answers.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# night light quiz answers
-
-Answers to the night light quiz.
-
-This is the answer key for the [night light quiz](/lessons/night-light/quiz).
-
-## 1. Define the function "set brightness"
-
-This function sets the brightness of the LED screen.
-
-## 2. Consider the following image
-
-![](/static/mb/lessons/night-light-0.png)
-
-If the rectangle above represents the @boardname@, write the code to set all the LEDs to full brightness and to turn on all the LEDs.
-
-
-
-```blocks
-led.setBrightness(255)
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- `)
-```
-
-## 3. Consider the following image
-
-![](/static/mb/lessons/night-light-1.png)
-
-If the rectangle above represents the @boardname@, write the code to set the screen brightness to 50% (128) and turns on all the LEDs.
-
-
-
-```blocks
-led.setBrightness(128)
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- `)
-```
-
-## 4. Consider the following image
-
-![](/static/mb/lessons/night-light-2.png)
-
-If the rectangle above represents the @boardname@, write the code to turn off all the LEDs.
-
-```blocks
-led.setBrightness(0)
-```
-
diff --git a/docs/lessons/night-light/quiz.md b/docs/lessons/night-light/quiz.md
deleted file mode 100644
index 6153bd26..00000000
--- a/docs/lessons/night-light/quiz.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# night light quiz
-
-change the brightness of the @boardname@.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [night light tutorial](/lessons/night-light/activity)
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Describe what "led->set brightness" does ?
-
-## 2. If the picture below is the @boardname@, write the code that sets all the LEDs to full brightness and turns on all the LEDs
-
-![](/static/mb/lessons/night-light-0.png)
-
-
-
-## 3. If the picture below is the @boardname@, write the code that sets the screen brightness to 50% (128) and turns on all the LEDs.
-
-![](/static/mb/lessons/night-light-1.png)
-
-
-
-## 4. If the picture below is the @boardname@, write the code turns off all the LEDs.
-
-![](/static/mb/lessons/night-light-2.png)
-
diff --git a/docs/lessons/pogo.md b/docs/lessons/pogo.md
deleted file mode 100644
index eaf6c8e2..00000000
--- a/docs/lessons/pogo.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# pogo lesson
-
-create a game that relies on precise instincts and timing reflexes #if #.
-
-## Topic
-
-Running Time
-
-## Quick Links
-
-* [activity](/lessons/pogo/activity)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to use running time. We will be learning how to create a pogo game using variables, forever loop, conditionals, on button pressed, as well as simple commands, such as show LEDs and clear screen.
-
-## Documentation
-```cards
-let jumps = 0
-let acc = input.acceleration(Dimension.Y)
-basic.showNumber(0)
-led.stopAnimation()
-radio.sendNumber(0)
-basic.forever(() => { })
-basic.showLeds(`
- . . . . .
- . # . # .
- . . # . .
- # . . . #
- . # # # .
- `)
-basic.clearScreen()
-if (true) {}
-radio.onDataPacketReceived(() => { })
-```
-## Objectives
-
-* learn how to create a function as a unit of code that performs a specific task and returns a result
-* learn how arithmetic operators operate on numbers and return a number
-* learn how to repeat code in the background forever
-* learn how to conditionally run code depending on whether a condition is true or not
-* learn how to run code when an input button is pressed
-* learn how to pause your code for the specified number of milliseconds
-
-```package
-radio
-```
\ No newline at end of file
diff --git a/docs/lessons/pogo/activity.md b/docs/lessons/pogo/activity.md
deleted file mode 100644
index 92a951dd..00000000
--- a/docs/lessons/pogo/activity.md
+++ /dev/null
@@ -1,168 +0,0 @@
-# pogo activity
-
-Construct a counter that uses acceleration.
-
-Welcome! This activity will teach how to construct a pendulum that glows using acceleration. Let's get started!
-
-Create a **forever** loop that will constantly display the appropriate brightness on the LED display. Now let's measure the acceleration on the `y` axis and store that value in a variable. The `acceleration(y)` function will provide the value.
-
-```blocks
-basic.forever(() => {
- let acc = input.acceleration(Dimension.Y)
-})
-```
-
-Since the @boardname@ will be swinging up and down, we need to store the variable called jumps. We will set the variable called jumps to 0 to store the number 0.
-
-```blocks
-let jumps = 0
-basic.forever(() => {
- let acc = input.acceleration(Dimension.Y)
-})
-```
-
-The function `acceleration(y)` gets the acceleration value (milli g-force), in the `y` dimension. If the `acceleration(y)`is greater than 2000 milli g-force, we will change jumps by 1. If jumping is greater than 2000 milli-gravities, then change jumps by 1 and display a smiley on the @boardname@. Finally, we will remove the smiley image from the screen
-
-
-```blocks
-let jumps = 0
-basic.forever(() => {
- let acc = input.acceleration(Dimension.Y)
- if (acc > 2000) {
- jumps = jumps + 1;
- basic.showLeds(`
- . . . . .
- . # . # .
- . . # . .
- # . . . #
- . # # # .
- `)
- basic.clearScreen()
- }
-})
-```
-
-Now let's register an event handler that will execute whenever an input button (A) is pressed during program execution. If you press button A, then show the number of jumps greater than 2000 milli-gravities on the @boardname@.
-
-```blocks
-let jumps = 0
-basic.forever(() => {
- let acc = input.acceleration(Dimension.Y)
- if (acc > 2000) {
- jumps = jumps + 1;
- basic.showLeds(`
- . . . . .
- . # . # .
- . . # . .
- # . . . #
- . # # # .
- `)
- basic.clearScreen()
- }
-})
-input.onButtonPressed(Button.A, () => {
- basic.showNumber(jumps)
-})
-```
-
-If you press button A+B together, then reset the jump counter to 0 on the @boardname@. Finally, we will show the show the jump counter on the @boardname@
-
-
-```blocks
-let jumps = 0
-basic.forever(() => {
- let acc = input.acceleration(Dimension.Y)
- if (acc > 2000) {
- jumps = jumps + 1;
- basic.showLeds(`
- . . . . .
- . # . # .
- . . # . .
- # . . . #
- . # # # .
- `)
- basic.clearScreen()
- }
-})
-input.onButtonPressed(Button.A, () => {
- basic.showNumber(jumps)
-})
-input.onButtonPressed(Button.AB, () => {
- let jumps = 0
- basic.showNumber(jumps)
-})
-
-```
-
-We want to setup the radio communication between an additional @boardname@. We first must send number for jumps. The additional @boardname@ will receive the number and show number on data received. We are now displaying the current jump count on the second @boardname@
-
-```blocks
-let jumps = 0
-basic.forever(() => {
- let acc = input.acceleration(Dimension.Y)
- if (acc > 2000) {
- jumps = jumps + 1;
- radio.sendNumber(jumps)
- basic.showLeds(`
- . . . . .
- . # . # .
- . . # . .
- # . . . #
- . # # # .
- `)
- basic.clearScreen()
- }
-})
-input.onButtonPressed(Button.A, () => {
- basic.showNumber(jumps)
-})
-input.onButtonPressed(Button.AB, () => {
- let jumps = 0
- basic.showNumber(jumps)
-})
-radio.onDataPacketReceived(({ receivedNumber }) => {
- basic.showNumber(receivedNumber)
-})
-
-```
-We want to stop animation so every time the number of jumps increase by 1 the second @boardname@ will not also display smiley from show leds. So we add the code stop animation
-
-```blocks
-let jumps = 0
-basic.forever(() => {
- let acc = input.acceleration(Dimension.Y)
- if (acc > 2000) {
- jumps = jumps + 1;
- radio.sendNumber(jumps)
- basic.showLeds(`
- . . . . .
- . # . # .
- . . # . .
- # . . . #
- . # # # .
- `)
- basic.clearScreen()
- }
-})
-input.onButtonPressed(Button.A, () => {
- basic.showNumber(jumps)
-})
-input.onButtonPressed(Button.AB, () => {
- let jumps = 0
- basic.showNumber(jumps)
-})
-radio.onDataPacketReceived(({ receivedNumber }) => {
- basic.showNumber(receivedNumber)
- led.stopAnimation()
-})
-
-```
-
-
-Connect the first @boardname@ to your computer using your USB cable and run the pogo script on it.
-Connect the second @boardname@ to your computer using your USB cable and run the pogo script on it.
-The first person and second person take turns jumping in the “y” direction while the other player uses the @boardname@ to track the results on the @boardname@!
-
-```package
-radio
-```
\ No newline at end of file
diff --git a/docs/lessons/prank-wifi.md b/docs/lessons/prank-wifi.md
deleted file mode 100644
index 633305ee..00000000
--- a/docs/lessons/prank-wifi.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# prank wifi lesson
-
-Create a fake wifi app to trick your friends
-
-* [activity](/lessons/prank-wifi/activity)
-* [quiz](/lessons/prank-wifi/quiz)
-* [quiz answers](/lessons/prank-wifi/quiz-answers)
diff --git a/docs/lessons/prank-wifi/activity.md b/docs/lessons/prank-wifi/activity.md
deleted file mode 100644
index 8530bd0e..00000000
--- a/docs/lessons/prank-wifi/activity.md
+++ /dev/null
@@ -1,141 +0,0 @@
-# prank wifi challenges
-
-create a fake wifi app to trick your friends.
-
-## Before we get started
-
-Complete the following exercise. Your code should look like this:
-
-```blocks
-basic.showString("Check Wifi", 150)
-basic.forever(() => {
- let xAccel = Math.abs(input.acceleration(Dimension.X))
- let yAccel = Math.abs(input.acceleration(Dimension.Y))
- let zAccel = Math.abs(input.acceleration(Dimension.Z))
- let sum = xAccel + yAccel + zAccel
- if (sum < 1400) {
- basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . # # . .
- # # # . .
- `)
- } else if (sum >= 1400 && sum < 1680) {
- basic.showLeds(`
- . . . . .
- . . . # .
- . . # # .
- . # # # .
- # # # # .
- `)
- } else if (sum >= 1680) {
- basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- # . . . .
- `)
- }
-})
-
-```
-
-### Challenge 1
-
-What if wanted to show the maximum connectivity of wifi instead of just 1, 3, or 4 bars?
-
-Let's start by changing the first **IF** statement to `if sum <1200`.
-
-Edit this line: if sum is greater than 1400 then just click on the `1400` and backspace until you can add your own number of `1200`.
-
-```blocks
-basic.showString("Check Wifi", 150)
-basic.forever(() => {
- let xAccel1 = Math.abs(input.acceleration(Dimension.X))
- let yAccel1 = Math.abs(input.acceleration(Dimension.Y))
- let zAccel1 = Math.abs(input.acceleration(Dimension.Z))
- let sum1 = xAccel1 + yAccel1 + zAccel1
- if (sum1 < 1200) {
- basic.showLeds(`
-. . . . .
-. . . . .
-. . # . .
-. # # . .
-# # # . .
-`)
- } else if (sum1 >= 1400 && sum1 < 1680) {
- basic.showLeds(`
-. . . . .
-. . . # .
-. . # # .
-. # # # .
-# # # # .
-`)
- }
- else if (sum1 >= 1680) {
- basic.showLeds(`
-. . . . .
-. . . . .
-. . . . .
-. . . . .
-# . . . .
-`)
- }
-})
-```
-
-### Challenge 2
-
-Let's add an **IF** at the bottom of your code that checks to see if `sum >= to 1200` **and** if `sum <1400`
-
-```blocks
-basic.showString("Check Wifi", 150)
-basic.forever(() => {
- let xAccel2 = Math.abs(input.acceleration(Dimension.X))
- let yAccel2 = Math.abs(input.acceleration(Dimension.Y))
- let zAccel2 = Math.abs(input.acceleration(Dimension.Z))
- let sum2 = xAccel2 + yAccel2 + zAccel2
- if (sum2 < 1200) {
- basic.showLeds(`
-. . . . .
-. . . . .
-. . # . .
-. # # . .
-# # # . .
-`)
- } else if (sum2 >= 1400 && sum2 < 1680) {
- basic.showLeds(`
-. . . . .
-. . . # .
-. . # # .
-. # # # .
-# # # # .
-`)
- }
- else if (sum2 >= 1680) {
- basic.showLeds(`
-. . . . .
-. . . . .
-. . . . .
-. . . . .
-# . . . .
-`)
- }
- if (sum2 >= 1200 && sum2 < 1400) {
- basic.showLeds(`
-. . . . #
-. . . # #
-. . # # #
-. # # # #
-# # # # #
-`)
- }
-})
-```
-
-### Challenge 3
-
-Now it's your turn! Be creative and change the Wifi meter images to your own wifi image you're sure will prank your friends by editing the lines that call `showLeds()`.
-
diff --git a/docs/lessons/prank-wifi/quiz-answers.md b/docs/lessons/prank-wifi/quiz-answers.md
deleted file mode 100644
index 50f1bdab..00000000
--- a/docs/lessons/prank-wifi/quiz-answers.md
+++ /dev/null
@@ -1,107 +0,0 @@
-# prank wifi quiz answers
-
-create a fake wifi app to trick your friends.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [prank WiFi activity](/lessons/prank-wifi/activity)
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Write the lines of code that takes the absolute value of the accelerations with respect to the x, y and z axis and stores the values as Local Variables
-
-
-
-```blocks
-let xAccel = Math.abs(input.acceleration(Dimension.X))
-let yAccel = Math.abs(input.acceleration(Dimension.Y))
-let zAccel = Math.abs(input.acceleration(Dimension.Z))
-```
-
-
-
-## 2. Write the lines of code that add all the accelerations together to get the total acceleration and stores the value as a Local Variable called "sum"
-
-
-
-
-
-```blocks
-let xAccel = Math.abs(input.acceleration(Dimension.X))
-let yAccel = Math.abs(input.acceleration(Dimension.Y))
-let zAccel = Math.abs(input.acceleration(Dimension.Z))
-let sum = xAccel + yAccel + zAccel
-```
-
-
-
-## 3. Write the 'If statement' used if the sum of the acceleration value is less than 1400 milli-gravitys. Then write the code that will plot an image of the fake amount of WiFi if the acceleration in this 'If statement'
-
-
-
-```blocks
-let xAccel = Math.abs(input.acceleration(Dimension.X))
-let yAccel = Math.abs(input.acceleration(Dimension.Y))
-let zAccel = Math.abs(input.acceleration(Dimension.Z))
-let sum = xAccel + yAccel + zAccel
-if (sum < 1400) {
- basic.showLeds(`
-. . . . .
-. . . . .
-. . # . .
-. # # . .
-# # # . .
-`)
-}
-```
-
-
-
-## 4. Write tje 'If statement' used if the sum of the acceleration value is greater than 1400 milli-gravitys but less than 1680 milli-gravitys. Then write the code that will plot an image of the fake amount of WiFi inside this 'If statement'
-
-
-
-
-
-```blocks
-let xAccel = Math.abs(input.acceleration(Dimension.X))
-let yAccel = Math.abs(input.acceleration(Dimension.Y))
-let zAccel = Math.abs(input.acceleration(Dimension.Z))
-let sum = xAccel + yAccel + zAccel
-if (sum >= 1400 && sum < 1680) {
- basic.showLeds(`
-. . . . .
-. . . # .
-. . # # .
-. # # # .
-# # # # .
-`)
-}
-```
-
-## 5. Write the code to display this specific image on the device
-
-![](/static/mb/lessons/prank-wifi-0.png)
-
-
-
-
-
-```blocks
-let xAccel = Math.abs(input.acceleration(Dimension.X))
-let yAccel = Math.abs(input.acceleration(Dimension.Y))
-let zAccel = Math.abs(input.acceleration(Dimension.Z))
-let sum = xAccel + yAccel + zAccel
-if (sum >= 1680) {
- basic.showLeds(`
-. . . . .
-. . . . .
-. . . . .
-. . . . .
-# . . . .
-`)
-}
-```
-
diff --git a/docs/lessons/prank-wifi/quiz.md b/docs/lessons/prank-wifi/quiz.md
deleted file mode 100644
index a6ed1f6a..00000000
--- a/docs/lessons/prank-wifi/quiz.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# prank wifi quiz
-
-create a fake wifi app to trick your friends.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [prank WiFi tutorial](/lessons/prank-wifi/activity)
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Write the lines of code that takes the absolute value of the accelerations with respect to the x, y and z axis and stores the values as Local Variables
-
-
-
-
-
-## 2. Write the lines of code that add all the accelerations together to get the total acceleration and stores the value as a Local Variable called "sum"
-
-
-
-
-
-
-
-## 3. Write the 'If statement' used if the sum of the acceleration value is less than 1400 milli-gravitys. Then write the code that will plot an image of the fake amount of WiFi if the acceleration in this 'If statement'
-
-
-
-
-
-## 4. Write tje 'If statement' used if the sum of the acceleration value is greater than 1400 milli-gravitys but less than 1680 milli-gravitys. Then write the code that will plot an image of the fake amount of WiFi inside this 'If statement'
-
-
-
-
-
-## 5. Write the 'if statement' needed to display this specific plot image on the device
-
-![](/static/mb/lessons/prank-wifi-0.png)
-
-
-
-
-
diff --git a/docs/lessons/rotation-animation.md b/docs/lessons/rotation-animation.md
deleted file mode 100644
index a6afdec0..00000000
--- a/docs/lessons/rotation-animation.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# rotation animation block lesson
-
-Learn how to create images with a global variable and while loop.
-
-## Topic
-
-While Loop
-
-## Quick links
-
-* [activity](/lessons/rotation-animation/activity)
-* [challenges](/lessons/rotation-animation/challenges)
-* [quiz](/lessons/rotation-animation/quiz)
-* [quiz answers](/lessons/rotation-animation/quiz-answers)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to create images that look like a rotating animation by using a while loop. We will be learning how to create a rotating animation using a global variable, while loop as well as simple commands, such as on button pressed and show animation.
-
-## Documentation
-
-```cards
-while (true) {}
-let x = 0
-input.onButtonPressed(Button.A, () => {})
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-basic.pause(100)
-```
-
-## Objectives
-
-* learn how to create a variable for a place where you can store data, accessible across functions, and in nested code blocks
-* learn how to set or change the value of a variable
-* learn how to repeat code while a condition is true
-* learn how to declare a boolean variable to determine which code will execute next
-* learn how to run code when an input button is pressed
-* learn how to show a series of image frames on the LED screen
-* learn how to pause your code for the specified number of milliseconds
-
diff --git a/docs/lessons/rotation-animation/activity.md b/docs/lessons/rotation-animation/activity.md
deleted file mode 100644
index 9c06315e..00000000
--- a/docs/lessons/rotation-animation/activity.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# rotation animation block activity
-
-Rotate images with a while loop.
-
-### ~avatar avatar
-
-Welcome! This tutorial will teach how to rotate images with a **while loop**. Let's get started!
-
-### ~
-
-Let's start by creating a global variable called `rotating` and initialize it to true. This well indicate when the animation should be displaying.
-
-```blocks
-let rotating = true;
-```
-
-Now we need a while loop that will be executed only if the variable rotating is true.
-
-```blocks
-let rotating = true;
-while (rotating) {
- basic.pause(20)
-
-}
-```
-
-Let's create and show an animation of a diagonal line that rotates clockwise. We need a pause so that the battery does not burn out.
-
-```blocks
-let rotating = true;
-while (rotating) {
- basic.pause(20)
- basic.showLeds(`
- # . . . .
- . # . . .
- . . # . .
- . . . # .
- . . . . #
- `)
- basic.showLeds(`
- . . # . .
- . . # . .
- . . # . .
- . . # . .
- . . # . .
- `)
- basic.showLeds(`
- . . . . #
- . . . # .
- . . # . .
- . # . . .
- # . . . .
- `)
- basic.showLeds(`
- . . . . .
- . . . . .
- # # # # #
- . . . . .
- . . . . .
- `)
-}
-```
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/rotation-animation/challenges)!
-
-### ~
-
diff --git a/docs/lessons/rotation-animation/challenges.md b/docs/lessons/rotation-animation/challenges.md
deleted file mode 100644
index 5f6eab4e..00000000
--- a/docs/lessons/rotation-animation/challenges.md
+++ /dev/null
@@ -1,145 +0,0 @@
-# rotation animation block challenges
-
-Coding challenges for the rotation animation.
-
-## Before we get started
-
-Complete the following guided activity:
-
-* [activity](/lessons/rotation-animation/activity)
-
-At the end of the activity, your code should look like this:
-
-
-```blocks
-let rotating = true;
-while (rotating) {
- basic.pause(20)
- basic.showLeds(`
- # . . . .
- . # . . .
- . . # . .
- . . . # .
- . . . . #
- `)
- basic.showLeds(`
- . . # . .
- . . # . .
- . . # . .
- . . # . .
- . . # . .
- `)
- basic.showLeds(`
- . . . . #
- . . . # .
- . . # . .
- . # . . .
- # . . . .
- `)
- basic.showLeds(`
- . . . . .
- . . . . .
- # # # # #
- . . . . .
- . . . . .
- `)
-}
-```
-
-
-### Challenge 1
-
-Now let's add to this by creating a condition for on button pressed `A` before the while loop. We will also introduce serial writeLine for the while loop and input OnButtonPressed
-
-```blocks
-
-let rotating = true;
-while (rotating) {
- serial.writeLine("loop")
- basic.showLeds(`
- # . . . .
- . # . . .
- . . # . .
- . . . # .
- . . . . #
- `)
- basic.showLeds(`
- . . # . .
- . . # . .
- . . # . .
- . . # . .
- . . # . .
- `)
- basic.showLeds(`
- . . . . #
- . . . # .
- . . # . .
- . # . . .
- # . . . .
- `)
- basic.showLeds(`
- . . . . .
- . . . . .
- # # # # #
- . . . . .
- . . . . .
- `)
-}
-input.onButtonPressed(Button.A, () => {
- serial.writeLine("hello")
-})
-
-```
-
-### Challenge 2
-
-
-
-Now that we have the on button pressed condition, let's make the animation stop rotating by setting the rotating global variable to false when button `A` is pressed.
-
-```blocks
-let rotating = true;
-while (rotating) {
- serial.writeLine("loop")
- basic.showLeds(`
- # . . . .
- . # . . .
- . . # . .
- . . . # .
- . . . . #
- `)
- basic.showLeds(`
- . . # . .
- . . # . .
- . . # . .
- . . # . .
- . . # . .
- `)
- basic.showLeds(`
- . . . . #
- . . . # .
- . . # . .
- . # . . .
- # . . . .
- `)
- basic.showLeds(`
- . . . . .
- . . . . .
- # # # # #
- . . . . .
- . . . . .
- `)
-}
-input.onButtonPressed(Button.A, () => {
- serial.writeLine("hello")
- rotating = false
-})
-
-```
-
-* Run the code to see the awesome rotation.
-
-### Challenge 3
-
-Let's also make the image rotate the opposite way when button A is pressed! We can do this with another while loop that is only executed while `not rotating`.
-
diff --git a/docs/lessons/rotation-animation/quiz-answers.md b/docs/lessons/rotation-animation/quiz-answers.md
deleted file mode 100644
index b2c76874..00000000
--- a/docs/lessons/rotation-animation/quiz-answers.md
+++ /dev/null
@@ -1,93 +0,0 @@
-# rotation animation quiz answers
-
-Learn how to create a rotating image with a while loop.
-
-This is the answer key for the [rotation animation quiz](/lessons/rotation-animation/quiz).
-
-## 1. What is a " variable"?
-
-Answers may vary. A variable is a place where you can store data so that you can use it later in your code.
-
-## 2. Write the code to create a ** variable** called `foo` that stores a boolean and initialize it to **false**.
-
-
-
-```blocks
-let rotating = true;
-```
-
-## 3. Explain what this line of code does.
-
-```blocks
-let rotating = true;
-while (rotating) {
- basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
- basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- `)
-}
-
-```
-
-
-
-
-
-It is a **while** loop that will be executed only if the ** variable** called `rotating` is **true**.
-
-## 4. If the rectangle below represents the @boardname@, shade the areas that will be displayed. Explain why that particular area is shaded.
-
-```blocks
-basic.showLeds(`
- . . # . .
- . . # . .
- . . # . .
- . . # . .
- . . # . .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- # # # # #
- . . . . .
- . . . . .
- `)
-basic.showLeds(`
- . . . . #
- . . . # .
- . . # . .
- . # . . .
- # . . . .
- `)
-basic.showLeds(`
- . . . . #
- . . . # .
- . . # . .
- . # . . .
- # . . . .
- `)
-
-```
-
-
-
-![](/static/mb/lessons/rotation-animation-0.png)
-
-![](/static/mb/lessons/rotation-animation-1.png)
-
-![](/static/mb/lessons/rotation-animation-2.png)
-
-![](/static/mb/lessons/rotation-animation-3.png)
-
-Show animation will show a series of image frames on the LED screen, pausing the specified time (400 milliseconds) after each frame
-
diff --git a/docs/lessons/rotation-animation/quiz.md b/docs/lessons/rotation-animation/quiz.md
deleted file mode 100644
index ca6ca923..00000000
--- a/docs/lessons/rotation-animation/quiz.md
+++ /dev/null
@@ -1,83 +0,0 @@
-# rotation animation quiz
-
-Learn how to create a rotating image with a while loop.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [rotation animation tutorial](/lessons/rotation-animation/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. What is a " variable"?
-
-
-
-## 2. Write the code to create a variable called foo that stores a boolean and initialize it to false.
-
-
-
-## 3. Explain why you use a while loop with a variable
-
-```blocks
-let rotating = true;
-while (rotating) {
- basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
- basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- `)
-}
-
-```
-
-
-
-## 4. Draw the areas on the @boardname@s to illustrate the code below. Explain why you chose to draw in those areas.
-
-```blocks
-basic.showLeds(`
- . . # . .
- . . # . .
- . . # . .
- . . # . .
- . . # . .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- # # # # #
- . . . . .
- . . . . .
- `)
-basic.showLeds(`
- . . . . #
- . . . # .
- . . # . .
- . # . . .
- # . . . .
- `)
-basic.showLeds(`
- . . . . #
- . . . # .
- . . # . .
- . # . . .
- # . . . .
- `)
-
-```
-
-![](/static/mb/lessons/looper-2.png)
-
-
-
diff --git a/docs/lessons/screen-wipe.md b/docs/lessons/screen-wipe.md
deleted file mode 100644
index e697c30b..00000000
--- a/docs/lessons/screen-wipe.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# screen wipe blocks lesson
-
-Clear the screen by pressing button "A".
-
-## Topic
-
-Clear Screen
-
-## Quick Links
-
-* [activity](/lessons/screen-wipe/activity)
-* [quiz](/lessons/screen-wipe/quiz)
-* [quiz answers](/lessons/screen-wipe/quiz-answers)
-* [challenges](/lessons/screen-wipe/challenges)
-
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to **clear screen**, `clear screen` to turn off all the LED lights on the LED screen. We will be learning how to clear all LED lights on the LED screen using clear screen, input on button pressed as well as simple commands, such as show animation.
-
-
-## Documentation
-
-```cards
-basic.clearScreen()
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-input.onButtonPressed(Button.A, () => {})
-```
-
-## Objectives
-
-* learn how to show a series of images on the LED screen
-* learn how to run code when an input button is pressed
-* learn how to turn off all the LED lights on the LED screen
diff --git a/docs/lessons/screen-wipe/activity.md b/docs/lessons/screen-wipe/activity.md
deleted file mode 100644
index 30810d6e..00000000
--- a/docs/lessons/screen-wipe/activity.md
+++ /dev/null
@@ -1,90 +0,0 @@
-# screen wipe blocks activity
-
-Clear the screen by pressing buttons on the @boardname@
-
-### ~avatar avatar
-
-
-
-This activity will teach how to clear the screen by pressing button A on the @boardname@.
-
-### ~
-
-You can use the clear screen` function to turn off all the LED on the screen. Let's illustrate this concept with a small script where the user has to press the button A to turn off the screen. Let's start by adding the code to show an animation.
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # # # #
- . . . . .
- . . . . .
- . . . . .
- `)
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- . . . . .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- # # # # #
- # # # # #
- . . . . .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- # # # # #
- # # # # #
- `)
-```
-
-We add another line of code that registers an *event handler* `on button pressed` *A* and calls `clear screen`.
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # # # #
- . . . . .
- . . . . .
- . . . . .
- `)
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- . . . . .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- # # # # #
- # # # # #
- . . . . .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- # # # # #
- # # # # #
- `)
-input.onButtonPressed(Button.A, () => {
- basic.clearScreen()
-})
-
-```
-
-*Run* the script in the simulator or on the @boardname@ to see how this works!
-
-### ~avatar boothing
-
-Excellent, you're ready to continue with the [challenges](/lessons/screen-wipe/challenges)!
-
-### ~
-
diff --git a/docs/lessons/screen-wipe/challenges.md b/docs/lessons/screen-wipe/challenges.md
deleted file mode 100644
index 756e67d2..00000000
--- a/docs/lessons/screen-wipe/challenges.md
+++ /dev/null
@@ -1,162 +0,0 @@
-# screen wipe blocks challenges
-
-Coding challenges for screen wipe.
-
-## Before we get started
-
-Complete the [screen wipe](/lessons/screen-wipe/activity) activity and your code will look like this:
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # # # #
- . . . . .
- . . . . .
- . . . . .
- `)
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- . . . . .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- # # # # #
- # # # # #
- . . . . .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- # # # # #
- # # # # #
- `)
-input.onButtonPressed(Button.A, () => {
- basic.clearScreen()
-})
-
-```
-
-### Challenge 1
-
-Create an event handler for Button B.
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # # # #
- . . . . .
- . . . . .
- . . . . .
- `)
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- . . . . .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- # # # # #
- # # # # #
- . . . . .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- # # # # #
- # # # # #
- `)
-input.onButtonPressed(Button.A, () => {
- basic.clearScreen()
-})
-input.onButtonPressed(Button.B, () => {
-
-})
-
-```
-
-### Challenge 2
-
-
-
-Replay the animation when the "B" button is pressed placing the `show LEDs` block on the canvas.
-
-```blocks
-basic.showLeds(`
- # # # # #
- # # # # #
- . . . . .
- . . . . .
- . . . . .
- `)
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- . . . . .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- # # # # #
- # # # # #
- . . . . .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- # # # # #
- # # # # #
- `)
-input.onButtonPressed(Button.A, () => {
- basic.clearScreen()
-})
-input.onButtonPressed(Button.B, () => {
- basic.showLeds(`
- # # # # #
- # # # # #
- . . . . .
- . . . . .
- . . . . .
- `)
-basic.showLeds(`
- # # # # #
- # # # # #
- # # # # #
- # # # # #
- . . . . .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- # # # # #
- # # # # #
- . . . . .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- # # # # #
- # # # # #
- `)
-})
-
-```
-
-
-### Challenge 3
-
-Show an animation that scrolls back up when you press button "B".
-
-* tap the *run* button to view your final product!
diff --git a/docs/lessons/screen-wipe/quiz-answers.md b/docs/lessons/screen-wipe/quiz-answers.md
deleted file mode 100644
index 2b3e113a..00000000
--- a/docs/lessons/screen-wipe/quiz-answers.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# screen wipe quiz blocks answers
-
-Clear the screen by pressing the "A" button after an animation has been played
-
-This is the answer key for the [screen wipe quiz](/lessons/screen-wipe/quiz).
-
-## 1. What does the function "clear screen" do on the @boardname@?
-
-This function turns off all the LED lights on the LED screen.
-
-## 2. Write the line of code that displays this image.
-
-![](/static/mb/blocks/lessons/screen-wipe-4.png)
-
-```blocks
-basic.showLeds(`
- . # . # .
- . # . # .
- . . # . .
- # . . . #
- . # # # .
- `)
-```
-
-## 3. Write the condition that will detect on button A pressed
-
-```blocks
-
-input.onButtonPressed(Button.A, () => {
-
-})
-
-```
-
-## 4. Write the code that will clear show LEDS from the screen after pressing button A
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- basic.clearScreen()
-})
-```
-
diff --git a/docs/lessons/screen-wipe/quiz.md b/docs/lessons/screen-wipe/quiz.md
deleted file mode 100644
index b08d225a..00000000
--- a/docs/lessons/screen-wipe/quiz.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# screen wipe blocks quiz
-
-Clear the screen by pressing the "A" button after an animation has been played
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [screen wipe activity](/lessons/screen-wipe/activity)
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Describe what "clear screen" does?
-
-
-
-## 2. Write the code that clears an image from the screen
-
-![](/static/mb/blocks/lessons/screen-wipe-4.png)
-
-
-## 3. Write the condition that will detect on button A pressed
-
-
-
-## 4. Write the code that will clear show LEDS from the screen after pressing button A
-
-
-
diff --git a/docs/lessons/seismograph.md b/docs/lessons/seismograph.md
deleted file mode 100644
index 98e04931..00000000
--- a/docs/lessons/seismograph.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Seismograph Lesson
-
-Build a seismograph with household materials
-
-## Topic
-
-Acceleration & Analog Read Pin
-
-## Quick Links
-
-* [activity](/lessons/seismograph/activity)
-* [challenge](/lessons/seismograph/challenge)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to **show LEDs** to turn on a LED light pattern on the LED screen. We will be learning basic comments such as show LEDs and pause.
-
-## Documentation
-
-```cards
-basic.forever(() => {});
-radio.sendNumber(0);
-input.acceleration(Dimension.Strength)
-radio.onDataPacketReceived(() => {});
-led.plotBarGraph(0, 0);
-```
-
-## Objectives
-
-* learn how to repeat code forever in the background
-* learn how to display a vertical bar graph based on the value.
-* learn how to return the sum of the two numbers
-* learn how to get acceleration value in milli-gravitys
-* learn how to read the connector value as analog as a value comprised between 0 and 1023
-
-```package
-radio
-```
\ No newline at end of file
diff --git a/docs/lessons/seismograph/activity.md b/docs/lessons/seismograph/activity.md
deleted file mode 100644
index 09f99f97..00000000
--- a/docs/lessons/seismograph/activity.md
+++ /dev/null
@@ -1,186 +0,0 @@
-# Seismograph Activity
-
-Welcome! In this project, you will build your own seismograph. This activity will teach how to use the @boardname@ to chart the strength of the acceleration. Let's get started! Project duration: 25 minutes.
-
-### ~avatar avatar
-
-Engineering: In this project, you will build your own seismograph @boardname@ from tape and a household plate.
-
-### ~
-
-## What you'll need:
-
-* @boardname@
-* micro USB cable
-* Plate
-* Tape
-* Scissors
-
-![](/static/mb/lessons/seismograph11.png)
-
-# Engineering Steps
-
-## 1.
-
-Prepare Tape: Measure and cut approximately 10mm of tape. The tape will be fastened to a micro USB cable.
-
-![](/static/mb/lessons/seismograph1.png)
-
-## 2.
-
-Fasten Tape: Fasten tape to the micro USB cable and to the plate. Attach the @boardname@ to the @boardname@ USB cable.
-
-![](/static/mb/lessons/seismograph0.png)
-
-### ~avatar avatar
-
-Computer Science: The seismograph has been built. We are ready to program the @boardname@ to be a seismograph!
-
-### ~
-
-# Programming Steps
-
-## 3.
-
-We will measure `acceleration (mg)` in terms of strength or Magnitude.
-
-```blocks
-input.acceleration(Dimension.Strength);
-```
-
-## 4.
-
-Use the plot bar chart to visualize the acceleration on the LED screen. Use a forever to keep reading the acceleration value and displaying it on the screen.
-
-```blocks
-basic.forever(() => {
- led.plotBarGraph(input.acceleration(Dimension.Strength), 0);
-});
-
-```
-
-## 6.
-
-At rest, the @boardname@ is always subject to Earth gravity, whose magnitude is measured around ``1023``. Substract ``1023`` to measure a data close to ``0``.
-
-```blocks
-basic.forever(() => {
- led.plotBarGraph(input.acceleration(Dimension.Strength) - 1023, 0);
-});
-
-```
-
-### ~
-
-### ~avatar avatar
-
-Data Analysis: We now need to use the @boardname@ to Analyze Data and chart for the strength of the acceleration.
-
-### ~
-
-# Data Analysis Steps
-
-## 7.
-
-First, notice that moving the @boardname@ in the simulator in any direction, you will change the acceleration value, which is being displayed as the same color as the @boardname@ simulator. Also, notice that by moving the @boardname@ simulator, there is a changing acceleration value. Second, the flat colored horizontal line will start a waving line to display the value of the strength as measured in milli-gravities. Finally, notice that the LED display will fluctate based on the movement of the @boardname@ simulator.
-
-![](/static/mb/lessons/analyze20.png)
-
-## 8.
-
-Connect a @boardname@ to your computer using your USB cable
-
-![](/static/mb/lessons/seismograph33.png)
-
-Click or tap the **Download** button for the seismograph program to run the program on the @boardname@.
-
-## 9.
-
-A black line should appear directly beneath the colored line. The black line measures the @boardname@ acceleration. And the colored line measures @boardname@ simulator acceleration.
-
-Run the acceleration experiment by vigarously moving the plate in any direction or move the object below the @boardname@ (such as a table).
-
-Every time the @boardname@ moves in any direction, you generate data points that can be reviewed in Excel later. The more attempts to move the @boardname@, the more data to be reviewed in Excel.
-
-![](/static/mb/lessons/seismograph5.png)
-
-## 10.
-
-Please find seismogrph experiment obervations:
-
-First, notice that moving the @boardname@ in any direction, you will change the acceleration value, which is being displayed as a milli-gravities value. By moving the @boardname@, there will be a changing acceleration value.
-
-![](/static/mb/lessons/seismograph7.png)
-
-Second, the horizontal line will move to plot the value of the strength as measured in milli-gravities. The horizontal line's movement is based on the @boardname@ acceleration in Magnitude or Strength.
-
-![](/static/mb/lessons/seismograph6.png)
-
-Third, notice that the LED display fluctates based on the movement of the @boardname@.
-
-![](/static/mb/lessons/seismograph8.png)
-
-Now we are ready to graph or chart the accceleration of the @boardname@. We want a printout of the @boardname@ acceleration graphed in Excel.
-
-## 11.
-
-In order to receive the the data plotted by Excel, click or tap anywhere in the on the chart data.
-
-![](/static/mb/analyze1.png)
-
-## 12.
-
-You have two options to Analyze Data:
-
-* Local File: Save the data to your local Downloads folder and open it in Excel.
-* Stream to Cloud: Upload your data to Microsoft Azure to analyze it.
-
-Click or tap Download data
-
-![](/static/mb/lessons/seismograph9.png)
-
-## 13.
-
-A CSV file will be generated to display the data points collected by the @boardname@. Click or tap on the data Excel file that was downloaded to your local Downloads Folder.
-
-![](/static/mb/lessons/analyze9.png)
-
-## 14.
-
-Select the data that you want to include in your chart. The chart should include the first two columns: time and acceleration.
-
-Click or tap on the first two columns (A, B) to include time and acceleration data from the @boardname@
-
-
-## 15.
-
-Click or tap on Insert then select Recommended Charts. We can select a chart that’s just right for the data.
-
-![](/static/mb/analyze3.png)
-
-On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data.
-
-We want to select the chart called Line. A line chart is used to display trends over time. We will use the line chart because there are many data points over time.
-
-Click on the chart type to see how your data will look in that format. When you find the chart type that you want, click it, and then click OK.
-
-![](/static/mb/lessons/analyze16.png)
-
-Tip: If you don’t see the line chart, click the All Charts tab to see the line chart.
-
-## 16.
-
-Use the Chart Elements, Chart Styles, and Chart Filters buttons next to the upper-right corner of the chart to add chart elements like axis titles or data labels, to customize the look of your chart
-
-Alternatively, click or tap on the Design Ribbon.
-
-Let's select Style 10 as an example.
-
-![](/static/mb/lessons/analyze19.png)
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/seismograph/challenge)
-
-### ~
-
diff --git a/docs/lessons/seismograph/challenge.md b/docs/lessons/seismograph/challenge.md
deleted file mode 100644
index 52c59426..00000000
--- a/docs/lessons/seismograph/challenge.md
+++ /dev/null
@@ -1,200 +0,0 @@
-# Seismograph Challenge
-
-Coding challenges for the seismograph.
-
-
-### ~avatar avatar
-
-Engineering: In this project, you will build a remote control based on the seismograph @boardname@ activity using a second @boardname@ and micro USB cable.
-
-### ~
-
-## What you'll need:
-
-* @boardname@s (2)
-* micro USB cables (2)
-* Plate
-* Tape
-* Scissors
-
-![](/static/mb/lessons/seis_challenge01.png)
-
-## Before we get started
-
-Complete the [seismograph](/lessons/seismograph/activity) activity and your code will look like this:
-
-```blocks
-basic.forever(() => {
- led.plotBarGraph(input.acceleration(Dimension.Strength) - 1023, 0);
-});
-
-```
-
-### ~avatar avatar
-Computer Science: Welcome! The activity will teach you how to code the acceleration of the 1st @boardname@ and to visualize the acceleration on the 2nd @boardname@. Let's get started!
-### ~
-
-# Computer Science Steps
-
-## 1.
-We want to simply detach the blocks from the recent activity. We will use blocks from the activity to create a brand new program to show the way @boardname@ devices communicate through the BLE (Bluetooth low energy) radio.
-
-```shuffle
-basic.forever(() => {
- led.plotBarGraph(input.acceleration(Dimension.Strength) - 1023, 0);
-});
-
-```
-
-## 2.
-Let's measure `acceleration (mg)` and then `send number`. `Acceleration` is measured in **milli-gravities**, so a value of -1000 is equivalent to -1g or -9.81m/s^2. We will be able to get the acceleration value (g-force), in the specified "x" dimension. `Send number` will broadcast a number data packet to other @boardname@s connected via radio.
-
-We need add send number block found in the Radio drawer. We will attach send number to acceleration and subtract the gravity from acceleration strength.
-
-Your finished code will look like this:
-
-```blocks
-radio.sendNumber(input.acceleration(Dimension.Strength) - 1023);
-```
-
-## 3.
-We want to display the acceleration forever. In order to do so, we need a `forever` loop. A forever loop will repeat code in the background forever. We need attach forever loop to send number.
-
-Your finished code will look like this:
-
-```blocks
-basic.forever(() => {
- radio.sendNumber(input.acceleration(Dimension.Strength) - 1023);
-});
-
-```
-
-## 4.
-We want to register code to run when a packet is received over radio. We can implement this code by adding `on data received`block found in the radio drawer.
-
-Your finished code will look like this:
-
-```blocks
-basic.forever(() => {
- radio.sendNumber(input.acceleration(Dimension.Strength) - 1023);
-});
-radio.onDataPacketReceived(() => {
-});
-
-```
-
-## 5.
-Finally, we want to chart the acceleration. So we must first implement `plot bar graph`. `Plot Bar Graph` will display a vertical bar graph based on the value and high value. In order to transfer the receive the number from the 1st @boardname@, we must implement `receive number` to constantly display a vertical bar graph based on the value. Remember, the value will equal to the @boardname@'s acceleration in the "x" direction.
-
-Your finished code will look like this:
-
-```blocks
-basic.forever(() => {
- radio.sendNumber(input.acceleration(Dimension.Strength) - 1023);
-});
-radio.onDataPacketReceived(({ receivedNumber }) => {
- led.plotBarGraph(receivedNumber, 0);
-});
-```
-
-### ~avatar avatar
-Science: Welcome! The activity will teach you how to chart the acceleration of the 1st @boardname@ and to visualize the acceleration on the 2nd @boardname@. Let's get started!
-### ~
-
-# Science Steps
-
-## 6.
-First, notice that moving the 1st @boardname@ in the simulator in any direction, you will change the acceleration value of the 2nd @boardname@. Also, notice that by moving the @boardname@ simulator, there is a changing acceleration value of the second @boardname@. Second, the flat colored horizontal line will start a waving line on the 2nd @boardname@ to display the value of the strength as measured in milli-gravities. Finally, notice that the LED display will fluctate based on the movement of the 2nd @boardname@ simulator.
-
-![](/static/mb/lessons/seis_challenge02.png)
-
-## 7.
-
-Connect the 2nd @boardname@ to your computer using your USB cable. We should have two @boardname@ devices attached to the computer.
-
-![](/static/mb/lessons/seismograph33.png)
-
-## 8.
-
-Click or tap the **Download** button for the seismograph program to run the program on the 1st @boardname@ and 2nd @boardname@.
-
-## 9.
-
-The black lines should appear directly beneath the colored lines. The black lines measure the @boardname@ acceleration. And the colored lines measures @boardname@ simulator acceleration.
-
-![](/static/mb/lessons/seis_challenge05.png)
-
-Run the acceleration experiment by vigarously moving the plate in any direction or move the object below the @boardname@ (such as a table).
-
-![](/static/mb/lessons/seis_challenge06.png)
-
-Every time the @boardname@ moves in any direction, you generate data points that can be reviewed in Excel later. The more attempts to move the @boardname@, the more data to be reviewed in Excel. Notice that the LED on the 2nd @boardname@ changes to communicate the movement of the 1st @boardname@.
-
-![](/static/mb/lessons/seis_challenge04.png)
-
-Now we are ready to graph or chart the accceleration of the @boardname@. We want a printout of the @boardname@ acceleration graphed in Excel.
-
-## 10.
-
-In order to receive the the data plotted by Excel, click or tap anywhere in the on the chart data.
-
-![](/static/mb/lessons/seis_challenge07.png)
-
-## 11.
-
-You have two options to Analyze Data:
-
-* Local File: Save the data to your local Downloads folder and open it in Excel.
-* Stream to Cloud: Upload your data to Microsoft Azure to analyze it.
-
-Click or tap Download data
-
-![](/static/mb/lessons/seismograph9.png)
-
-## 12.
-
-A CSV file will be generated to display the data points collected by the @boardname@. Click or tap on the data Excel file that was downloaded to your local Downloads Folder.
-
-![](/static/mb/lessons/analyze9.png)
-
-## 13.
-
-Select the data that you want to include in your chart. The chart should include the first two columns: time and acceleration.
-
-Click or tap on the first two columns (A, B) to include time and acceleration data from the @boardname@. We only need the first two columns (A, B) because the 2nd @boardname@ changes have been communicated by the 1st @boardname@. So the data points of the seismograph are being recorded on the 1st @boardname@.
-
-## 14.
-
-Click or tap on Insert then select Recommended Charts. We can select a chart that’s just right for the data.
-
-![](/static/mb/analyze3.png)
-
-On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data.
-
-We want to select the chart called Line. A line chart is used to display trends over time. We will use the line chart because there are many data points over time.
-
-Click on the chart type to see how your data will look in that format. When you find the chart type that you want, click it, and then click OK.
-
-![](/static/mb/lessons/analyze16.png)
-
-Tip: If you don’t see the line chart, click the All Charts tab to see the line chart.
-
-## 15.
-
-Use the Chart Elements, Chart Styles, and Chart Filters buttons next to the upper-right corner of the chart to add chart elements like axis titles or data labels, to customize the look of your chart
-
-Alternatively, click or tap on the Design Ribbon.
-
-Let's select Style 10 as an example.
-
-![](/static/mb/lessons/analyze19.png)
-
-
-### ~
-* Have fun reviewing your seismograph data and analyzing the acceleration with Excel.
-* The first person and second person take shaking or moving the micor:bit in any direction while the other player charts the data on the @boardname@!
-* Review and analyze the actual @boardname@ device acceleration data on Excel
-
-```package
-radio
-```
\ No newline at end of file
diff --git a/docs/lessons/smiley.md b/docs/lessons/smiley.md
deleted file mode 100644
index a0945d0b..00000000
--- a/docs/lessons/smiley.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# smiley blocks lesson
-
-Design a blinking image lesson
-
-## Topic
-
-Show LEDs
-
-## Quick Links
-
-* [activity](/lessons/smiley/activity)
-* [quiz](/lessons/smiley/quiz)
-* [quiz answers](/lessons/smiley/quiz-answers)
-* [challenges](/lessons/smiley/challenges)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to **show LEDs** to turn on a LED light pattern on the LED screen. We will be learning basic comments such as show LEDs and pause.
-
-## Documentation
-
-* **show LEDs** : [read more...](/reference/basic/show-leds)
-* **on button pressed** : [read more...](/reference/input/on-button-pressed)
-
-```cards
-input.onButtonPressed(Button.A, () => {})
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-```
-
-## Objectives
-
-* learn how to show LEDs on the LED screen
-* learn how to run code when an input button is pressed
-
diff --git a/docs/lessons/smiley/activity.md b/docs/lessons/smiley/activity.md
deleted file mode 100644
index 72db85eb..00000000
--- a/docs/lessons/smiley/activity.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# smiley blocks activity
-
-Learn to design a blinking image.
-
-### ~avatar avatar
-
-
-
-Welcome! This tutorial will help you make a smiley face blink. Let's get started!
-
-### ~
-
-Create an animation with an image displaying a smiley face and the next image with no LEDs lit up. This will make it look like the smiley face is blinking as the display switches between images.
-
-```blocks
-basic.showLeds(`
- . # . # .
- . # . # .
- . . . . .
- # . . . #
- . # # # .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- `)
-```
-
-### ~avatar boothing
-
-Excellent, you're ready to continue with the [challenges](/lessons/smiley/challenges)!
-
-### ~
-
diff --git a/docs/lessons/smiley/challenges.md b/docs/lessons/smiley/challenges.md
deleted file mode 100644
index 9caf3479..00000000
--- a/docs/lessons/smiley/challenges.md
+++ /dev/null
@@ -1,93 +0,0 @@
-# smiley blocks challenges
-
-Coding challenges for the smiley.
-
-## Before we get started
-
-Complete the [smiley activity](/lessons/smiley/activity) and your code will look like this:
-
-
-```blocks
-basic.showLeds(`
- . # . # .
- . # . # .
- . . . . .
- # . . . #
- . # # # .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- `)
-```
-
-
-### Challenge 1
-
-What if we want to make the face to frown on button pressed A?
-
-Let's make add code that will run when button A is pressed!
-
-
-```blocks
-basic.showLeds(`
- . # . # .
- . # . # .
- . . . . .
- # . . . #
- . # # # .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- `)
-input.onButtonPressed(Button.A, () => {
-
-})
-```
-
-### Challenge 2
-
-
-
-Now, we want to show a frowny face when this button is pressed. Let's show the LEDs.
-
-```blocks
-basic.showLeds(`
- . # . # .
- . # . # .
- . . . . .
- # . . . #
- . # # # .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- `)
-input.onButtonPressed(Button.A, () => {
- basic.showLeds(`
- . # . # .
- . # . # .
- . . . . .
- . # # # .
- # . . . #
- `)
-})
-
-```
-
-* Run your code to see if it works as expected.
-
-### Challenge 3
-
-When *button B* is pressed, let's change the sad face back to a happy face. To do this, begin by adding a condition for `on button pressed` *B*. Next, show LEDs as a smiley face inside the condition.
-
diff --git a/docs/lessons/smiley/quiz-answers.md b/docs/lessons/smiley/quiz-answers.md
deleted file mode 100644
index 167e9954..00000000
--- a/docs/lessons/smiley/quiz-answers.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# smiley blocks quiz answers
-
-This is the answer key for the [smiley quiz](/lessons/smiley/quiz).
-
-## 1. Describe what `show LEDs` does
-
-A function that will display an image on the LED screen
-
-## 2. Why is there an extra empty frame after the smiley face?
-
-![](/static/mb/lessons/smiley-0.png)
-
-
-
-The extra empty image with show LED creates a blinking smiley, allowing the @boardname@ to alternate between showing the smiley and the empty screen.
-
-## 3. Draw the image created with this code
-
-```blocks
-basic.showLeds(`
- . # . # .
- . # . # .
- . . . . .
- # . . . #
- . # # # .
- `)
-```
-
-![](/static/mb/blocks/lessons/smiley-4.png)
-
-## 4. Write the code to make this image
-
-```blocks
-basic.showLeds(`
- . # . # .
- . # . # .
- . . . . .
- # . . . #
- . # # # .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- `)
-```
-
-![](/static/mb/blocks/lessons/smiley-6.png)
-
diff --git a/docs/lessons/smiley/quiz.md b/docs/lessons/smiley/quiz.md
deleted file mode 100644
index 24fc6232..00000000
--- a/docs/lessons/smiley/quiz.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# smiley blocks quiz
-
-Make a smiley face blink
-
-## Name
-
-## Directions
-
-Use the hints in the [Smiley](/lessons/smiley/activity) activity to answer this quiz!
-
-## 1. Describe what `show LEDs` does
-
-
-## 2. Why is there an extra empty frame after the smiley face?
-
-![](/static/mb/lessons/smiley-0.png)
-
-
-
-## 3. Draw the image created with this code
-
-```blocks
-basic.showLeds(`
- . # . # .
- . # . # .
- . . . . .
- # . . . #
- . # # # .
- `)
-```
-
-![](/static/mb/empty-microbit.png)
-
-## 4. Draw the images created with this code
-
-```blocks
-basic.showLeds(`
- . # . # .
- . # . # .
- . . . . .
- # . . . #
- . # # # .
- `)
-basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- `)
-```
-
-![](/static/mb/lessons/looper-3.png)
-
diff --git a/docs/lessons/snowflake-fall.md b/docs/lessons/snowflake-fall.md
deleted file mode 100644
index 77d4e285..00000000
--- a/docs/lessons/snowflake-fall.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# snowflake fall blocks lesson
-
-design a blinking rectangle animation.
-
-
-
-## Topic
-
-Forever
-
-## Quick Links
-
-* [activity](/lessons/snowflake-fall/activity)
-* [quiz](/lessons/snowflake-fall/quiz)
-* [quiz answers](/lessons/snowflake-fall/quiz-answers)
-* [challenges](/lessons/snowflake-fall/challenges)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to show LEDs with a, `pause` to pause program execution for a specified amount of milliseconds. We will be learning how to show images using forever loop as well as simple commands, such as pause and show LEDs.
-
-## Documentation
-
-```cards
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-basic.pause(100)
-basic.forever(() => {})
-```
diff --git a/docs/lessons/snowflake-fall/activity.md b/docs/lessons/snowflake-fall/activity.md
deleted file mode 100644
index 85d82b10..00000000
--- a/docs/lessons/snowflake-fall/activity.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# snowflake fall blocks activity
-
-design a blinking rectangle animation.
-
-### ~avatar avatar
-
-
-
-Welcome! This tutorial will teach how design a **snowfall animation**. Let's get started!
-
-### ~
-
-Let's start by creating a `forever` loop that will allow us to repeat the show LEDs code. Any code in the `forever` loop will repeat in the background... forever.
-
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
- . . . . .
- . . # . .
- . # # # .
- . . # . .
- . . . . .
- `)
- basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- `)
-})
-```
-
-The next step is to add two `show LEDs` blocks inside the `forever` loop to repeat an animation.
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
- . . . . .
- . . # . .
- . # # # .
- . . # . .
- . . . . .
- `)
- basic.showLeds(`
- . . # . .
- . # . # .
- # . . . #
- . # . # .
- . . # . .
- `)
-})
-```
-
-Run your code in the simulator or download it to your @boardname@ to see what happens!
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/snowflake-fall/challenges)!
-
-### ~
-
diff --git a/docs/lessons/snowflake-fall/challenges.md b/docs/lessons/snowflake-fall/challenges.md
deleted file mode 100644
index 833e1a18..00000000
--- a/docs/lessons/snowflake-fall/challenges.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# snowflake fall blocks challenges
-
-Coding challenges for snowflake fall.
-
-## Before we get started
-
-Complete the [snowflake fall](/lessons/snowflake-fall/activity) activity and your code will look like this:
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
- . . . . .
- . . # . .
- . # # # .
- . . # . .
- . . . . .
- `)
- basic.showLeds(`
- . . # . .
- . # . # .
- # . . . #
- . # . # .
- . . # . .
- `)
-})
-```
-
-### Challenge 1
-
-
-
-To finalize our snowflake fall, let's add a different snowflake pattern.
-
-```blocks
-
-basic.forever(() => {
- basic.showLeds(`
- . . . . .
- . . # . .
- . # # # .
- . . # . .
- . . . . .
- `)
- basic.showLeds(`
- . . # . .
- . # . # .
- # . . . #
- . # . # .
- . . # . .
- `)
- basic.showLeds(`
- . # . # .
- # # # # #
- . # . # .
- # # # # #
- . # . # .
- `)
-})
-
-```
-
-
-* Run your program and see if it works.
-
-### Challenge 3
-
-Add a fourth frame to the current animation... or make it your own!
-
diff --git a/docs/lessons/snowflake-fall/quiz-answers.md b/docs/lessons/snowflake-fall/quiz-answers.md
deleted file mode 100644
index 072a5b8c..00000000
--- a/docs/lessons/snowflake-fall/quiz-answers.md
+++ /dev/null
@@ -1,73 +0,0 @@
-# snowflake fall blocks quiz answers
-
-Create a snowflake fall animation.
-
-This is the answer key for the [snowflake fall quiz](/lessons/snowflake-fall/quiz).
-
-## 1. What is a forever loop?
-
-Run code in the background forever (answers may vary).
-
-## 2. Draw the picture that will be produced with this code
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
-. # . # .
-# # # # #
-# # # # #
-. # # # .
-. . # . .`);
-});
-
-```
-
-![](/static/mb/lessons/flashing-heart-0.png)
-
-## 3.Write the code for a forever loop and show LEDS for these images!
-
-![](/static/mb/lessons/snowflake-fall-0.png)
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
- . . . . .
- . . # . .
- . # # # .
- . . # . .
- . . . . .
- `);
- basic.showLeds(`
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- . . . . .
- `)
-});
-```
-
-## 4. Write the code for a forever loop and show LEDS for these images!
-
-![](/static/mb/lessons/snowflake-fall-1.png)
-
-![](/static/mb/lessons/snowflake-fall-2.png)
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
- . . . . .
- . . # . .
- . # # # .
- . . # . .
- . . . . .
- `);
- basic.showLeds(`
- # # # # #
- # # . # #
- # . # . #
- # # . # #
- # # # # #
- `)
-});
-```
\ No newline at end of file
diff --git a/docs/lessons/snowflake-fall/quiz.md b/docs/lessons/snowflake-fall/quiz.md
deleted file mode 100644
index f7dc17a4..00000000
--- a/docs/lessons/snowflake-fall/quiz.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# snowflake fall blocks quiz
-
-Create a snowflake fall animation
-
-## Name
-
-## Directions
-
-Use the hints in the [snowflake fall activity](/lessons/snowflake-fall/activity) to answer this quiz!
-
-## 1. What is a forever loop?
-
-
-
-## 2. Draw the picture that will be produced with this code
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
-. # . # .
-# # # # #
-# # # # #
-. # # # .
-. . # . .`);
-});
-
-```
-
-![](/static/mb/empty-microbit.png)
-
-
-
-## 3. Write the code for a forever loop and show LEDS for these images!
-
-![](/static/mb/lessons/snowflake-fall-0.png)
-
-
-
-## 4. Write the code for a forever loop and show LEDS for these images!
-
-![](/static/mb/lessons/snowflake-fall-1.png)
-
-![](/static/mb/lessons/snowflake-fall-2.png)
-
-
-
diff --git a/docs/lessons/speed-button.md b/docs/lessons/speed-button.md
deleted file mode 100644
index 6932cf68..00000000
--- a/docs/lessons/speed-button.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# speed button lesson
-
-code a speed game by declaring Booleans on the @boardname@.
-
-
-
-## Topic
-
-Running Time
-
-## Quick Links
-
-* [activity](/lessons/speed-button/activity)
-* [quiz](/lessons/speed-button/quiz)
-* [quiz answers](/lessons/speed-button/quiz-answers)
-
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to declare a **Boolean** variable, `var t:= true` `var f:=false` for one of two possible values: true or false. We will be learning how to declare Boolean variables using global variables, if (conditionals), input on button pressed, input running time, as well as simple commands, such as input on button pressed, and show string.
-
-## Documentation
-
-* **running time** : [read more...](/reference/input/running-time)
-* **variable** : [read more...](/blocks/variables)
-* **Boolean** : [read more...](/blocks/logic/boolean)
-* **on button pressed** : [read more...](/reference/input/on-button-pressed)
-* **if** : [read more...](/blocks/logic/if)
-* **show string** : [read more...](/reference/basic/show-string)
-
-## Objectives
-
-* learn how to get the number of milliseconds elapsed since the script began. 1,000 milliseconds = 1 second
-* learn how to create a global variable to store data so that you can use it later in your code and will be accessible across functions and in nested code blocks
-* learn how to create a Boolean with one of two possible values: true or false
-* learn how to run code when an input button is pressed
-* learn how to conditionally run code depending on whether a condition is true or not
-* learn how to show a string on the LED screen one character at a time
diff --git a/docs/lessons/speed-button/activity.md b/docs/lessons/speed-button/activity.md
deleted file mode 100644
index a6fbaaf6..00000000
--- a/docs/lessons/speed-button/activity.md
+++ /dev/null
@@ -1,97 +0,0 @@
-# speed button challenges
-
-Coding challenges for the speed button tutorial.
-
-## Before we get started
-
-Complete the following guided tutorial:
-
-Your starting code should look like this:
-
-```blocks
-let counter = 0
-let fastPress = false
-input.onButtonPressed(Button.A, () => {
- counter = counter + 1
-})
-```
-
-### Challenge 1
-
-We need to know when the user has hit button `A` 15 times. The user wins when he/she is able to accomplish this in less than 5000 milliseconds (5 seconds). We can check for both conditions by using an `and` operator. When using an `and` operator, both conditions need to be true in order for the condition to be true.
-
-```blocks
-let counter1 = 0
-let fastPress1 = false
-input.onButtonPressed(Button.A, () => {
- counter1 = counter1 + 1
- if (counter1 == 15 && input.runningTime() < 5000) {
- }
-})
-```
-
-Next, if the user has won, let's set our boolean to true. This indicates that he or she has won.
-
-```blocks
-let counter2 = 0
-let fastPress2 = false
-input.onButtonPressed(Button.A, () => {
- counter2 = counter2 + 1
- if (counter2 == 15 && input.runningTime() < 5000) {
- fastPress2 = true // ***
- }
-})
-```
-
-### Challenge 2
-
-We want to set `fastPress` to false if the user was too slow. To do so, we need another condition to see if the user took more than 5000 milliseconds (5 seconds). In the `if` statement, set `fastPress` to false.
-
-```blocks
-let counter3 = 0
-let fastPress3 = false
-input.onButtonPressed(Button.A, () => {
- counter3 = counter3 + 1
- if (counter3 == 15 && input.runningTime() < 5000) {
- fastPress3 = true
- }
- if (counter3 == 15 && input.runningTime() > 4999) {
- fastPress3 = false // ***
- }
-})
-```
-
-### Challenge 3
-
-
-
-Now let's display if the user won or lost. To do so, we need to check the status of `fastPress` when the game is finished, and then show the correct message.
-
-```blocks
-let counter4 = 0
-let fastPress4 = false
-input.onButtonPressed(Button.A, () => {
- counter4 = counter4 + 1
- if (counter4 == 15 && input.runningTime() < 5000) {
- fastPress4 = true
- }
- if (counter4 == 15 && input.runningTime() > 4999) {
- fastPress4 = false
- }
- if (counter4 == 15 && fastPress4) {
- basic.showString("YOU WIN!", 150) // ***
- }
- if (counter4 == 15 && ! fastPress4) {
- basic.showString("TOO SLOW!", 150) // ***
- }
-})
-```
-
-* Click the `run` button to see if the code runs properly.
-
-### Challenge 4
-
-
-
-Modify the code to change the difficulty level. Increasing the time will make it easier, while decreasing the time will make it harder. For example, changing the 5000 milliseconds to 6000 milliseconds will make the difficulty easier.
-
diff --git a/docs/lessons/speed-button/quiz-answers.md b/docs/lessons/speed-button/quiz-answers.md
deleted file mode 100644
index 12508865..00000000
--- a/docs/lessons/speed-button/quiz-answers.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# speed button quiz answers
-
-counter that keeps track of how many times button "A" has been pressed.
-
-This is the answer key for the [speed button quiz](/lessons/speed-button/quiz).
-
-## 1. What is a variable?
-
-
-
-A variable that is available throughout your main function.
-
-## 2. If the rectangle below represents the @boardname@, shade the area that shows the value of the variable count.
-
-```blocks
-let count = 0
-```
-
-![](/static/mb/lessons/speed-button-0.png)
-
-## 3. If the rectangle below represents the @boardname@, shade the areas that will be displayed after two button presses on Button A. Explain why that particular area is shaded.
-
-```blocks
-let count = 0
-input.onButtonPressed(Button.A, () => {
- count = count + 1
- basic.showNumber(count, 100)
-})
-```
-
-
-
-![](/static/mb/lessons/speed-button-1.png)
-
-After two button presses, **count** will be equal to 2.
-
-## 5. If the rectangle below represents the @boardname@, shade the areas that will be displayed after five button presses on Button A. Explain why that particular area is shaded.
-
-```blocks
-let count = 0
-input.onButtonPressed(Button.A, () => {
- count = count + 1
- basic.showNumber(count, 100)
-})
-```
-
-![](/static/mb/lessons/speed-button-2.png)
-
-After five button presses, **count** will be equal to 5.
-
diff --git a/docs/lessons/speed-button/quiz.md b/docs/lessons/speed-button/quiz.md
deleted file mode 100644
index 3e79045b..00000000
--- a/docs/lessons/speed-button/quiz.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# speed button quiz
-
-counter that keeps track of how many times button "A" has been pressed.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [speed button tutorial](/lessons/speed-button/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. What is a variable?
-
-## 2. Draw which LEDs show the number being stored as a global variable called count
-
-```blocks
-let count = 0
-```
-
-![](/static/mb/empty-microbit.png)
-
-## 3. Draw which LED is ON after running this code and pressing Button A twice. Explain why you chose to draw that number
-
-```blocks
-let count = 0
-input.onButtonPressed(Button.A, () => {
- count = count + 1
- basic.showNumber(count, 100)
-})
-```
-
-![](/static/mb/empty-microbit.png)
-
-
-
-## 4. Draw which LED is ON after running this code and pressing Button A five times. Explain why you chose to draw that number.
-
-```blocks
-let count = 0
-input.onButtonPressed(Button.A, () => {
- count = count + 1
- basic.showNumber(count, 100)
-})
-```
-
-![](/static/mb/empty-microbit.png)
-
-
-
diff --git a/docs/lessons/spinner.md b/docs/lessons/spinner.md
deleted file mode 100644
index 71cd8399..00000000
--- a/docs/lessons/spinner.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# spinner lesson
-
-a spin the @boardname@ game with the input on shake.
-
-
-
-## Topic
-
-If (Conditionals)
-
-## Quick Links
-
-* [activity](/lessons/spinner/activity)
-* [challenges](/lessons/spinner/challenges)
-* [quiz](/lessons/spinner/quiz)
-* [quiz answers](/lessons/spinner/quiz-answers)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to use an if statement to run code run code depending on whether a condition is true or not. We will be learning how to create a die with If statements, On Shake, Variables, Assignment Operator, Pick Random and Show LEDs.
-
-## Documentation
-
-```cards
-if (true) {}
-let x = 0
-input.onGesture(Gesture.Shake, () => {})
-Math.random(3)
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-```
-
-## Objectives
-
-* learn how to run code when the @boardname@ is shaken, when running code in the web browser, moving the mouse quickly simulates shaking
-* learn how to create a local variable as a place where you can store and retrieve data
-* learn how the assignment operator is used to declare a new local variable
-* learn how to declare a new local variable or update the value of a variable
-* learn how to return a random number
-* learn how to conditionally run code depending on whether a condition is true or not
-* learn how to show an image on the LED screen
-
diff --git a/docs/lessons/spinner/activity.md b/docs/lessons/spinner/activity.md
deleted file mode 100644
index 7fbce5d0..00000000
--- a/docs/lessons/spinner/activity.md
+++ /dev/null
@@ -1,110 +0,0 @@
-# spinner activity
-
-Create an arrow that randomly points to a player.
-
-### ~avatar avatar
-
-
-
-### ~
-
-Welcome! This guided tutorial will teach how to program a script that randomly points to a player. Let's get started!
-
-Let's begin by adding an `on shake` condition to know when the @boardname@ is shaken.
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
-
-})
-```
-
-Now let's randomly generate a number from 0 to 3 so that we can randomly display an arrow in a given direction.
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let randomArrow = Math.random(4)
- if (randomArrow == 3) {
- basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
- }
-})
-```
-
-
-
-Now let's handle each of the cases by displaying the appropriate arrow. (Let's display an up arrow if `random arrow` is 0.
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let randomArrow = Math.random(4)
- if (randomArrow == 3) {
- basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
- }
- if (randomArrow == 2) {
- basic.showLeds(`
- . . # . .
- . . # . .
- # # # # #
- . # # # .
- . . # . .
- `)
- }
-})
-```
-
-
-Now let's handle the rest of the cases for `random arrow`.
-
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let randomArrow = Math.random(4)
- if (randomArrow == 3) {
- basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
- }
- if (randomArrow == 2) {
- basic.showLeds(`
- . . # . .
- . . # . .
- # # # # #
- . # # # .
- . . # . .
- `)
- }
- if (randomArrow == 1) {
- basic.showLeds(`
- . . # . .
- . # # . .
- # # # # #
- . # # . .
- . . # . .
- `)
-
- }
-})
-```
-
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/spinner/challenges)!
-
-### ~
-
diff --git a/docs/lessons/spinner/challenges.md b/docs/lessons/spinner/challenges.md
deleted file mode 100644
index 03e1b048..00000000
--- a/docs/lessons/spinner/challenges.md
+++ /dev/null
@@ -1,173 +0,0 @@
-# spinner challenges
-
-Create an arrow that randomly points to a player.
-
-## Before we get started
-
-Complete the following [guided tutorial](/lessons/spinner/activity), your code should look like this:
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let randomArrow = Math.random(4)
- if (randomArrow == 3) {
- basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
- }
- if (randomArrow == 2) {
- basic.showLeds(`
- . . # . .
- . . # . .
- # # # # #
- . # # # .
- . . # . .
- `)
- }
- if (randomArrow == 1) {
- basic.showLeds(`
- . . # . .
- . # # . .
- # # # # #
- . # # . .
- . . # . .
- `)
-
- }
-})
-```
-
-### Challenge 1
-
-Modify the random number generator so that it can include new arrows we will create in the next challenge.
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let randomArrow = Math.random(8)
- if (randomArrow == 3) {
- basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
- }
- if (randomArrow == 2) {
- basic.showLeds(`
- . . # . .
- . . # . .
- # # # # #
- . # # # .
- . . # . .
- `)
- }
- if (randomArrow == 1) {
- basic.showLeds(`
- . . # . .
- . # # . .
- # # # # #
- . # # . .
- . . # . .
- `)
-
- }
-})
-```
-
-
-
-* Do **not** run the code yet because it will not work until you have conditions for every random number.
-
-### Challenge 2
-
-Let's add more arrows that point diagonally.
-
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let randomArrow = Math.random(8)
- if (randomArrow == 7) {
- basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
- }
- if (randomArrow == 6) {
- basic.showLeds(`
- . . # . .
- . . # . .
- # # # # #
- . # # # .
- . . # . .
- `)
- }
- if (randomArrow == 5) {
- basic.showLeds(`
- . . # . .
- . # # . .
- # # # # #
- . # # . .
- . . # . .
- `)
-
- }
- if (randomArrow == 4) {
- basic.showLeds(`
- . . # . .
- . . . # .
- # # # # #
- . . . # .
- . . # . .
- `)
-
- }
-
- if (randomArrow == 3) {
- basic.showLeds(`
- # # # # #
- # # # # .
- # # # # .
- # . . # .
- . . . . #
- `)
-
- }
- if (randomArrow == 2) {
- basic.showLeds(`
- # # # # #
- # # # # #
- . . # # #
- . # . # #
- # . . . #
- `)
-
- }
- if (randomArrow == 1) {
- basic.showLeds(`
- # . . . #
- # # . # .
- # # # . .
- # # # # .
- # # # # #
- `)
-
- }
-
-})
-
-```
-
-
-* Run your code to see if it works as expected
-
-### Challenge 3
-
-Add some other arrows if there are more than 8 players.
-
diff --git a/docs/lessons/spinner/quiz-answers.md b/docs/lessons/spinner/quiz-answers.md
deleted file mode 100644
index 86865ebf..00000000
--- a/docs/lessons/spinner/quiz-answers.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# spinner quiz answers
-
-a spin the @boardname@ game with the input on shake.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [spinner activity](/lessons/spinner/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Write the code that stores a random number between 0 and 3 into a local variable named 'random arrow'.
-
-
-
-```blocks
-let randomArrow = Math.random(4)
-```
-
-## 2. Write the if statement that will display this down arrow from your code. Hint- This occurs if the local variable 'random arrow' returns 1.
-
-![](/static/mb/lessons/spinner-0.png)
-
-
-
-```blocks
-let randomArrow = Math.random(4);
-if (randomArrow == 1) {
- basic.showLeds(`
-. . # . .
-. . # . .
-# # # # #
-. # # # .
-. . # . .
-`)
-}
-```
-
-## 3. Write the if statement that will display this right arrow. Hint- This occurs if the local variable 'random arrow' returns 2.
-
-![](/static/mb/lessons/spinner-1.png)
-
-
-
-```blocks
-let randomArrow = Math.random(4);
-if (randomArrow == 2) {
- basic.showLeds(`
-. . # . .
-. . # # .
-# # # # #
-. . # # .
-. . # . .
-`)
-}
-```
-
diff --git a/docs/lessons/spinner/quiz.md b/docs/lessons/spinner/quiz.md
deleted file mode 100644
index f815f11c..00000000
--- a/docs/lessons/spinner/quiz.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# spinner quiz
-
-a spin the @boardname@ game with the input on shake.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [spinner tutorial](/lessons/spinner/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Write the code that stores a random number between 0 and 3 into a local variable named 'random arrow'.
-
-
-
-## 2. Write the if statement that will display this down arrow from your code. Hint- This occurs if the local variable 'random arrow' returns 1.
-
-![](/static/mb/lessons/spinner-0.png)
-
-
-
-## 3. Write the if statement that will display this right arrow. Hint- This occurs if the local variable 'random arrow' returns 2.
-
-![](/static/mb/lessons/spinner-1.png)
-
-
-
diff --git a/docs/lessons/stem.md b/docs/lessons/stem.md
deleted file mode 100644
index d4b02efc..00000000
--- a/docs/lessons/stem.md
+++ /dev/null
@@ -1,64 +0,0 @@
-# Block Editor STEM Lessons
-
-Overview of Blocks lessons for the @boardname@.
-
-### @short Lessons
-
-### ~column
-
-## Science
-
-* [Night Light](/lessons/night-light), dim the LEDs with set brightness
-* [Hack your headphones](/projects/hack-your-headphones), create music on the @boardname@ by hacking your headphones
-* [Banana Keyboard](/projects/banana-keyboard), create music with fruits
-* [Telegraph](/projects/telegraph), play the telegraph game between 2 @boardname@s
-* [Zoomer](/lessons/zoomer), measure the force with acceleration
-* [Glowing pendulum](/lessons/glowing-pendulum), construct a pendulum that glows using acceleration
-
-### ~
-
-### ~column
-
-## Technology
-
-* [Beautiful Image](/lessons/beautiful-image), show a beautiful image with show LEDs
-* [Answering machine](/lessons/answering-machine), show a text message with show string
-* [Game of chance](/lessons/game-of-chance), show a text message with game over
-* [Smiley,](/lessons/smiley) smiley and frowney faces that transition on button pressed
-* [Snowflake fall](/lessons/snowflake-fall), repeat a series of images with forever
-* [Screen wipe](/lessons/screen-wipe), turn off the LEDs with clear screen
-* [Flashing heart](/lessons/flashing-heart), display images with a pause
-* [Blink](/lessons/blink), turn an LED on and off with plot
-* [Happy birthday](/lessons/happy-birthday), create a popular song
-* [Magic 8](/lessons/magic-8), a fortune teller game with the @boardname@
-
-### ~
-
-### ~column
-
-## Engineering
-
-* [Truth or dare](/lessons/truth-or-dare), a game that forces each player to reveal a secret or do something funny with if statement
-* [Spinner](/lessons/spinner), spin the arrow with multiple if statements
-* [Dice roll](/lessons/dice-roll), spin with more if statements
-* [Beatbox](/lessons/classic-beatbox), make a beatbox music player with variables
-* [Temperature](/lessons/temperature), get the ambient temperature (degree Celsius °C)
-
-### ~
-
-### ~column
-
-## Math
-
-* [Lucky 7](/lessons/lucky-7), show a number on the LED screen with show number
-* [Game Counter](/lessons/game-counter), displays the player's score with score and add points to score
-* [Guess the Number](/lessons/guess-the-number), guess a random number with pick number
-* [Counter](/lessons/counter), display a number with a variable
-* [Love meter](/lessons/love-meter), create a love meter with on pin pressed
-* [Looper](/lessons/looper), display a series of numbers with a for loop index
-* [Strobe light](/lessons/strobe-light), develop shapes with a nested for loops
-* [Digi Yoyo](/lessons/digi-yoyo), create a counter with a while loop
-* [Rotation animation](/lessons/rotation-animation), control an animation with a boolean variable
-
-### ~
-
diff --git a/docs/lessons/strobe-light.md b/docs/lessons/strobe-light.md
deleted file mode 100644
index 117d7182..00000000
--- a/docs/lessons/strobe-light.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# strobe light lesson
-
-Learn how to create a blinking LED script.
-
-
-
-## Topic
-
-For Loop
-
-## Quick links
-
-* [activity](/lessons/strobe-light/activity)
-* [challenges](/lessons/strobe-light/challenges)
-* [quiz](/lessons/strobe-light/quiz)
-* [quiz answers](/lessons/strobe-light/quiz-answers)
-
-## Documentation
-
-```cards
-led.plot(0, 0)
-led.unplot(0, 0)
-for (let i = 0; i < 5; i++) {}
-basic.pause(100)
-```
-
-## Objectives
-
-* learn how to repeat code a fixed number of times
-* learn how to turn on a LED light on the LED screen. Specify with LED using x, y coordinates
-* learn how to turn off a LED light on the LED screen. Specify which LED which x, y coordinates
-* learn how to pause program execution for the specified number of milliseconds
diff --git a/docs/lessons/strobe-light/activity.md b/docs/lessons/strobe-light/activity.md
deleted file mode 100644
index 6364705f..00000000
--- a/docs/lessons/strobe-light/activity.md
+++ /dev/null
@@ -1,62 +0,0 @@
-# strobe light activity
-
-Develop shapes with a for loop.
-
-### ~avatar avatar
-
-
-
-Welcome! This guided tutorial will teach how to develop shapes with a for loop. Let's get started!
-
-### ~
-
-Create a `for loop` that will loop from 0 to 4 to indicate the x-coordinates of the @boardname@ display.
-
-```blocks
-for (let i = 0; i < 5; i++) {
-
-}
-
-```
-
-Create another for loop that will loop from 0 to 4, indicating the y-coordinates of the @boardname@ instead. This for loop will light each LED by column.
-
-
-```blocks
-for (let i = 0; i < 5; i++) {
- for (let j = 0; j < 5; j++) {
-
- }
-}
-```
-
-
-We will light up each LED by plotting them individually.
-
-```blocks
-for (let i = 0; i < 5; i++) {
- for (let j = 0; j < 5; j++) {
- led.plot(i, j)
- basic.pause(200)
- }
-}
-```
-
-
-The pause will add a delay between lighting each LED.
-
-```blocks
-for (let i = 0; i < 5; i++) {
- for (let j = 0; j < 5; j++) {
- led.plot(i, j)
- basic.pause(200)
- }
-}
-```
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/strobe-light/challenges)!
-
-### ~
-
diff --git a/docs/lessons/strobe-light/challenges.md b/docs/lessons/strobe-light/challenges.md
deleted file mode 100644
index 75d77a32..00000000
--- a/docs/lessons/strobe-light/challenges.md
+++ /dev/null
@@ -1,73 +0,0 @@
-# strobe light challenges
-
-Coding challenges for strobe light.
-
-## Before we get started
-
-Complete the following [guided tutorial](/lessons/strobe-light/activity), your code should look like this:
-
-
-```blocks
-for (let i = 0; i < 5; i++) {
- for (let j = 0; j < 5; j++) {
- led.plot(i, j)
- basic.pause(200)
- }
-}
-```
-
-
-### Challenge 1
-
-
-
-Make the LEDs light up faster by changing the **pause** from 200 to 100 milliseconds:
-
-```blocks
-for (let i = 0; i < 5; i++) {
- for (let j = 0; j < 5; j++) {
- led.plot(i, j)
- basic.pause(100)
- }
-}
-```
-
-* Run the code to see if it works as expected.
-
-### Challenge 2
-
-
-
-Make the board light up by rows instead of by columns by swapping the `i` and `j` variables in `plot(i, j)`.
-
-```blocks
-for (let i = 0; i < 5; i++) {
- for (let j = 0; j < 5; j++) {
- led.plot(j, i)
- basic.pause(100)
- }
-}
-```
-
-* Run the code to see if it works as expected.
-
-### Challenge 3
-
-
-
-Now that all the LEDs are lit up, let's make them turn off by reversing the strobe light pattern! You can use `unplot` to turn off a single LED.
-
-```blocks
-for (let i = 0; i < 5; i++) {
- for (let j = 0; j < 5; j++) {
- led.plot(j, i)
- basic.pause(100)
- }
-}
-for (let k = 0; k < 5; k++) {
- for (let l = 0; l < 5; l++) {
- led.unplot(4 - l, 4 - k)
- basic.pause(100)
- }
-}
-```
\ No newline at end of file
diff --git a/docs/lessons/strobe-light/quiz-answers.md b/docs/lessons/strobe-light/quiz-answers.md
deleted file mode 100644
index d792cec4..00000000
--- a/docs/lessons/strobe-light/quiz-answers.md
+++ /dev/null
@@ -1,70 +0,0 @@
-# strobe light quiz answers
-
-Learn how to create a blinking images with a for loop.
-
-This is the answer key for the [strobe light quiz](/lessons/strobe-light/quiz).
-
-## 1. What is a for loop?
-
-Answers will vary. In general, for loop refers to the code that repeats for a fixed number of times. We specify the LED using x, y coordinates.
-
-## 2. Consider the following code
-
-```blocks
-for (let i = 0; i < 5; i++) {
- for (let j = 0; j < 5; j++) {
- led.plot(i, j)
- }
-}
-```
-
-If the rectangle below represents a board that is 5 LEDs wide and 5 LEDs tall, place an X approximately where the LED is lighted. Explain why the LED is lighted there.
-
-![](/static/mb/lessons/cascade-0.png)
-
-This code turns on specific LED. Plot turns on the specified LED on the LED screen. We specify the LED using x, y coordinates. The code lights on the LEDs
-
-``x`` - the x coordinate or horizontal position (0,1,2,3,4)
-
-``y`` - the y coordinate or vertical position (0,1,2,3,4)
-
-## 3. Consider the following code
-
-```blocks
-for (let i1 = 0; i1 < 3; i1++) {
- for (let j1 = 0; j1 < 3; j1++) {
- led.plot(i1, j1)
- }
-}
-```
-
-If the rectangle below represents a board that is 5 LEDs wide and 5 LEDs tall, place an X approximately where the LED is lighted. Explain why the LED is lighted there.
-
-![](/static/mb/lessons/cascade-1.png)
-
-This code turns on specific LED. Plot turns on the specified LED on the LED screen. We specify the LED using x, y coordinates.
-
-``x`` - the x coordinate or horizontal position (0,1,2)
-
-``y`` - the y coordinate or vertical position (0,1,2)
-
-## 4. Consider the following code
-
-```blocks
-for (let i2 = 0; i2 < 2; i2++) {
- for (let j2 = 0; j2 < 2; j2++) {
- led.plot(i2, j2)
- }
-}
-```
-
-If the rectangle below represents a board that is 5 LEDs wide and 5 LEDs tall, place an X approximately where the LED is lighted. Explain why the LED is lighted there.
-
-![](/static/mb/lessons/cascade-2.png)
-
-This code turns on specific LED. Plot turns on the specified LED on the LED screen. We specify the LED using x, y coordinates.
-
-``x`` - the x coordinate or horizontal position (0,1)
-
-``y`` - the y coordinate or vertical position (0,1)
-
diff --git a/docs/lessons/strobe-light/quiz.md b/docs/lessons/strobe-light/quiz.md
deleted file mode 100644
index 1aa0c04e..00000000
--- a/docs/lessons/strobe-light/quiz.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# strobe light quiz
-
-Learn how to create a blinking LED script with a for loop.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [strobe light tutorial](/lessons/strobe-light/activity)
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. What is a for loop?
-
-## 2. Draw which LEDs are ON after running this code
-
-```blocks
-for (let i = 0; i < 5; i++) {
- for (let j = 0; j < 5; j++) {
- led.plot(i, j)
- }
-}
-```
-
-![](/static/mb/empty-microbit.png)
-
-## 3. Draw which LEDs are ON after running this code
-
-```blocks
-for (let i1 = 0; i1 < 3; i1++) {
- for (let j1 = 0; j1 < 3; j1++) {
- led.plot(i1, j1)
- }
-}
-```
-
-![](/static/mb/empty-microbit.png)
-
-## 4. Draw which LEDs are ON after running this code
-
-```blocks
-for (let i2 = 0; i2 < 2; i2++) {
- for (let j2 = 0; j2 < 2; j2++) {
- led.plot(i2, j2)
- }
-}
-```
-
-![](/static/mb/empty-microbit.png)
-
diff --git a/docs/lessons/teach.md b/docs/lessons/teach.md
deleted file mode 100644
index 016d1e1d..00000000
--- a/docs/lessons/teach.md
+++ /dev/null
@@ -1,80 +0,0 @@
-# Teach Blocks
-
-Overview of lesson instructions for the @boardname@.
-
-### @short Teach
-
-The [lessons](/lessons) promote computational thinking and computer science literacy from an early age and provide opportunities for learning these skills within the context of public and private education, where they will be available to Year 7 students. This page is a 'how to manual' for using the lessons in the classroom.
-
-### @section full
-
-## Summary
-
-The [lessons](/lessons) promote computational thinking and computer science literacy from an early age and provide opportunities for learning these skills within the context of public education, where they will be available to Year 7 students. You will find comprehensive teacher training and preparation (lesson plans, videos, guided tutorials, quiz, challenges, and quiz answers). The curriculum has been organized for students from Beginner to Advanced lessons in an effort to build student confidence with computational thinking and coding concepts. The lesson has been constructed with a teacher lesson plan, video(s), activity, quiz, challenges, and quiz answers to demonstrate mastery with the Progression Pathways and Computational Thinking Framework. The lesson should occur on-site during a single instructional block.
-
-## Lesson Resources
-
-1) Lesson Plan
-
-The lesson plan maps to the Progressions Pathways, Computing Curriculum, and QuickStart Computing Glossary. The lesson plan explains the concepts being taught for computational thinking while supporting your classroom instruction. A lesson plan also contains Quick Links to the lesson's tutorial, challenges, quiz, and quiz answers as shown in the [blink lesson plan](/lessons/blink).
-
-2) Activity
-
-Expand your knowledge of programming with lots of great step-by-step activities. All the lessons come with instructions that will drive the students to a complete, functional code. These activities are very directive to make sure that students keep progressing. When the activities are over, additional challenges are given to advance code through printed instructions. An activity contains supporting videos as shown with the [blink activity](/lessons/blink/activity).
-
-
-
-3) Quiz
-
-Expand your knowledge of computational thinking and computer science literacy with lots of great quizzes. All the tutorials come with quiz questions that will encourage the students to process and evaluate the concepts being introduced throughout the lesson. The quiz questions are mapped to the concepts being introduced in the lesson to make sure that students understand the computer science concepts. Quizzes apply the concepts taught in the tutorial as shown with the [blink quiz](/lessons/blink/quiz).
-
-4) Quiz Answers
-
-The quiz answers provide responses to the quiz. This will allow teachers to accurately review and grade student responses. Please review a sample of the quiz answers provided with the [blink quiz answers](/lessons/blink/quiz-answers).
-
-5) Challenges
-
-After the student completes the quiz, tutorial, and compiles the code onto the @boardname@, distribute the lesson’s challenges. Challenges are additional customizing and exercises for the students. Challenges reinforce the concepts followed in the tutorial and quiz responses as shown with the [blink challenges](/lessons/blink/challenges).
-
-## Teacher Directions
-
-1) Teacher select a lesson from the [lessons](/lessons)
-
-2) Print the quiz and the challenges for each student
-
-3) Print the quiz answers from you
-
-4) Distribute the printed quiz for every student
-
-5) Complete quiz questions by following the the guided tutorials
-
-6) Compile the code from the tutorial onto the @boardname@
-
-7) Distribute the challenges for additional coding through paper instructions
-
-## Teacher Supplies
-
-1) Print: Lesson Quiz (1 copy per student)
-
-2) Print: Lesson Activity (1 copy per student)
-
-3) Print: Lesson Challenge (1 copy per student)
-
-## Lesson Timeline
-
-``00:00`` Introduce Objectives of Lesson Plan
-
-``05:00`` Distribute Lesson Quiz
-
-``07:00`` Access @boardname@ website
-
-``10:00`` Start Lesson Activity & Lesson Quiz
-
-``30:00`` Finish Lesson Tutorial & Lesson Quiz
-
-``35:00`` Start Lesson Challenges
-
-``55:00`` Finish Lesson
-
-``60:00`` Homework: Complete Challenges
-
diff --git a/docs/lessons/temperature.md b/docs/lessons/temperature.md
deleted file mode 100644
index d906b2e7..00000000
--- a/docs/lessons/temperature.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# temperature blocks lesson
-
-measure the temperature on the @boardname@.
-
-## Topic
-
-Temperature
-
-## Quick Links
-
-* [activity](/lessons/temperature/activity)
-* [challenges](/lessons/temperature/challenges)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to get the ambient temperature (degree Celsius °C). The temperature is inferred from the the surface temperature of the various chips on the @boardname@. We will be learning how to get the temperature using on shake, local variables, as well as simple commands such as show number.
-
-## Documentation
-
-```cards
-input.temperature()
-let x = 0
-basic.showNumber(7)
-basic.showString("Hello!")
-input.onGesture(Gesture.Shake, () => {})
-```
-
-## Objectives
-
-* learn how to create a variable to store data
-* learn how to get the ambient temperature (degree Celsius °C). The temperature is inferred from the the surface temperature of the various chips on the @boardname@.
-* learn how to show a number on the LED screen
diff --git a/docs/lessons/temperature/activity.md b/docs/lessons/temperature/activity.md
deleted file mode 100644
index cb0e6a96..00000000
--- a/docs/lessons/temperature/activity.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# temperature activity
-
-Measure the temperature on the @boardname@
-
-Welcome! This activity will teach how to measure the temperature on the @boardname@. Let's get started!
-
-We want to display the temperature on shake. In order to do so, we need to register the event `on shake` that will execute whenever the user shakes the @boardname@; in the web browser, click the button labelled "SHAKE" under the simulator to generate a shake event
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
-
-})
-```
-
-Let's measure the temperature and then store in it a variable `temp`. The temperature is measured in **Celsius**, so a value of `29` is equivalent to 29 degrees Celsius.
-
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let temp = input.temperature()
-})
-```
-
-Show the value of `temp` on the screen.
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let temp = input.temperature()
- basic.showNumber(temp)
-})
-```
-
-* click run to see if the code works as expected.
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/temperature/challenges)!
-
-### ~
-
diff --git a/docs/lessons/temperature/challenges.md b/docs/lessons/temperature/challenges.md
deleted file mode 100644
index 8ca0b2bc..00000000
--- a/docs/lessons/temperature/challenges.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# temperature challenges
-
-Coding challenges for zoomer.
-
-## Before we get started
-
-Complete the following guided [temperature activity](/lessons/temperature/activity). At the end of the activity, your code should look like this:
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let temp = input.temperature()
- basic.showNumber(temp)
-})
-```
-
-### Challenge 1
-
-Let's add the code to display the text `C IS THE TEMP` with a `show string` block. Modify the `show string` block to slowly display the text by an interval of `300`.
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let temp = input.temperature()
- basic.showNumber(temp)
- basic.showString("C IS THE TEMP")
-})
-```
-
-* Run the code to see if it works as expected.
-
-### Challenge 2
-
-Let's add code to display the temperature gauge image with a `show LEDs` block.
-
diff --git a/docs/lessons/truth-or-dare.md b/docs/lessons/truth-or-dare.md
deleted file mode 100644
index 8d1d1f33..00000000
--- a/docs/lessons/truth-or-dare.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# truth or dare lesson
-
-create a love meter with the @boardname@.
-
-
-
-## Topic
-
-If (Conditionals)
-
-## Quick Links
-
-* [activity](/lessons/truth-or-dare/activity)
-* [tutorial](/lessons/truth-or-dare/tutorial)
-* [challenges](/lessons/truth-or-dare/challenges)
-* [quiz](/lessons/truth-or-dare/quiz)
-* [quiz answers](/lessons/truth-or-dare/quiz-answers)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to use an if statement to run code run code depending on whether a condition is true or not. We will be learning how to create the game truth or dare using input an if statement, a local variable, math random as well as simple commands, such as show string and show LEDs.
-
-## Documentation
-
-```cards
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-input.onButtonPressed(Button.A, () => {})
-let x = 0
-Math.random(3)
-if (true) {}
-basic.showString("Hello!")
-```
-
-## Objectives
-
-* learn how to display an image on the @boardname@
-* learn how to run code when an input button is pressed
-* learn how to a create a variable for a place where you can store and retrieve data
-* learn how to declare a new local variable or update the value of a variable
-* learn how to return a random number
-* learn how to conditionally run code depending on whether a condition is true or not
-* learn how to show a string on the LED screen one character at a time (scrolling from left to right)
diff --git a/docs/lessons/truth-or-dare/activity.md b/docs/lessons/truth-or-dare/activity.md
deleted file mode 100644
index 84dcda48..00000000
--- a/docs/lessons/truth-or-dare/activity.md
+++ /dev/null
@@ -1,98 +0,0 @@
-# truth or dare activity
-
-A multi-player game that forces each player to reveal a secret or something funny.
-
-### ~avatar avatar
-
-
-
-Welcome! This tutorial will teach how to program a game of truth or dare on the @boardname@. Let's get started!
-
-### ~
-
-Begin by using Show LEDs to create an "up-arrow" image, which will point to someone.
-
-```blocks
-basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-
-```
-
-Now let's create a condition to know when button `A` is pressed so that we can display "truth" or "dare" on the @boardname@. We want the @boardname@ to randomly choose whether to display "truth" or display "dare". We can use accomplish this by using `pick random (1)`.
-
-```blocks
-basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-input.onButtonPressed(Button.A, () => {
- let random = Math.random(2)
-})
-```
-
-Now let's display the appropriate message for each scenario of `random`.
-
-```blocks
-basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-input.onButtonPressed(Button.A, () => {
- let random = Math.random(2)
- if (random == 0) {
- basic.showString("TRUTH")
- } else {
- basic.showString("DARE")
- }
-})
-```
-
-
-
-Notice how the arrow didn't display again after pressing button `A`. Let's add a line of code that displays the arrow again.
-
-```blocks
-basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-input.onButtonPressed(Button.A, () => {
- let random = Math.random(2)
- if (random == 0) {
- basic.showString("TRUTH")
- } else {
- basic.showString("DARE")
- }
- basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-})
-
-```
-
-* Run your program: Press button A!
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/truth-or-dare/challenges)!
-
-### ~
-
diff --git a/docs/lessons/truth-or-dare/challenges.md b/docs/lessons/truth-or-dare/challenges.md
deleted file mode 100644
index 88c7df29..00000000
--- a/docs/lessons/truth-or-dare/challenges.md
+++ /dev/null
@@ -1,104 +0,0 @@
-# truth or dare challenges
-
-A multi-player game that forces each player to reveal a secret or something funny.
-
-## Before we get started
-
-Complete the following [guided tutorial](/lessons/truth-or-dare/activity), and your code should look like this
-
-
-```blocks
-basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-input.onButtonPressed(Button.A, () => {
- let random = Math.random(2)
- if (random == 0) {
- basic.showString("TRUTH")
- } else {
- basic.showString("DARE")
- }
- basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-})
-```
-
-### Challenge 1
-
-Let's make the word "DARE" appear a little more often than "TRUTH". Change the line of code with `pick random (1)` to `pick random (2)`.
-
-```blocks
-basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-input.onButtonPressed(Button.A, () => {
- let random = Math.random(3)
- if (random == 0) {
- basic.showString("TRUTH")
- } else {
- basic.showString("DARE")
- }
- basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-})
-```
-
-
-### Challenge 2
-
-Instead of just saying "TRUTH" or "DARE", let's sometimes say "SKIP". This would allow the skipped person to spin the @boardname@ without completing a truth or dare. Modify the if statement as shown.
-
-``` blocks
-basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-input.onButtonPressed(Button.A, () => {
- let random = Math.random(2)
- if (random == 1) {
- basic.showString("TRUTH")
- } else if (random == 0) {
- basic.showString("DARE")
- } else {
- basic.showString("SKIP")
- }
- basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-})
-
-```
-
-
-
-* Run your code to see if it works as expected
-
-### Challenge 3
-
-Add some other messages, such as "TWO DARES" for the @boardname@ to show. You will need to modify the parameter inside `pick random (3)` as well as adding another `if` condition.
-
diff --git a/docs/lessons/truth-or-dare/quiz-answers.md b/docs/lessons/truth-or-dare/quiz-answers.md
deleted file mode 100644
index a9fb533c..00000000
--- a/docs/lessons/truth-or-dare/quiz-answers.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# truth or dare quiz answers
-
-a multi-player game that forces each player to reveal a secret or something funny.
-
-This is the answer key for the [truth or dare quiz](/lessons/truth-or-dare/quiz).
-
-## 1. Write the code that will randomly return 0 through 3 and stores the value inside a local variable called 'random'.
-
-```blocks
-let random = Math.random(4)
-```
-
-## 2. Write an if statement that will display the message "TRUTH" on the @boardname@ if the local variable 'random' equals 0.
-
-```blocks
-let random = Math.random(4)
-if (random == 0) {
- basic.showString("TRUTH", 150)
-}
-```
-
-## 3. If the local variable 'random' equals 1, write the string that will be displayed.
-
-DARE
-
-## 4.Write the code that will display this up arrow after pressing button "A".
-
-![](/static/mb/lessons/truth-or-dare-0.png)
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-})
-
-```
-
diff --git a/docs/lessons/truth-or-dare/quiz.md b/docs/lessons/truth-or-dare/quiz.md
deleted file mode 100644
index 40efade5..00000000
--- a/docs/lessons/truth-or-dare/quiz.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# truth or dare quiz
-
-a multi-player game that forces each player to reveal a secret or something funny.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [truth or dare tutorial](/lessons/truth-or-dare/activity).
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. Write the code that will randomly return 0 through 3 and stores the value inside a local variable called 'random'.
-
-
-
-
-
-## 2. Write an if statement that will display the message "TRUTH" on the @boardname@ if the local variable 'random' equals 0.
-
-
-
-
-
-## 3. If the local variable 'random' equals 1, write the string that will be displayed.
-
-
-
-
-
-## 4.Write the code that will display this up arrow after pressing button "A".
-
-![](/static/mb/lessons/truth-or-dare-0.png)
-
-
-
diff --git a/docs/lessons/truth-or-dare/tutorial.md b/docs/lessons/truth-or-dare/tutorial.md
deleted file mode 100644
index 7294f200..00000000
--- a/docs/lessons/truth-or-dare/tutorial.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# truth or dare tutorial
-
-### ~avatar avatar
-
-
-
-The *Truth or dare!* game works as follows: a player spins the @boardname@ on the table.
-When the @boardname@ stops spinning, the player pointed by the arrow (displayed on screen) must press the button "A"
-to see if she has to provide a *truth* or a *dare*.
-
-### ~
-
-### Rebuild the game!
-
-The blocks have been shuffled! Put them back together so that...
-* an up arrow is displayed when the @boardname@ is powered on.
-* on button `A` is pressed,
- * randomly display "TRUTH" or "DARE" on the screen
- * show the up arrow again.
-
-```shuffle
-basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-input.onButtonPressed(Button.A, () => {
- let random = Math.random(2)
- if (random == 0) {
- basic.showString("TRUTH")
- } else {
- basic.showString("DARE")
- }
- basic.showLeds(`
- . . # . .
- . # # # .
- # # # # #
- . . # . .
- . . # . .
- `)
-})
-```
-### Hints and tips
-Cut out these documentation cards to help you!
-
-```cards
-basic.showLeds(`
- . . # . .
- . # # # .
- # . # . #
- . . # . .
- . . # . .
- `);
-Math.random(2);
-basic.showString("TRUTH");
-if (true) {} else {}
-"TRUTH";
-0;
-input.onButtonPressed(Button.A, () => {});
-```
-
diff --git a/docs/lessons/variables.md b/docs/lessons/variables.md
deleted file mode 100644
index ebfe16be..00000000
--- a/docs/lessons/variables.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Blocks - Variables
-
-An introduction to variables for the Block Editor.
-
-## What is a variable?
-
-Variables are things that are remembered by the @boardname@. Variables can take a few formats and can have functions applied to them. For example, we could create a string, which is text. Or we could create a calculator that stores whichever number the user inputs as an integer, or whole number.
-
-We can modify variables but they must first be defined. Open the ‘Variables’ drawer to the left of your code.
-
-In the variables section you will see two blocks: `set item` and `item`. The set item block allows you to set a variable to another value or create a new variable.
-
-Drag the `set item` block into your code. Click the little arrow next to the word `item` and select **New Variable**, enter **value** as the name. You have now created a new variable called value, however you must set an initial value. Go to the **Maths** drawer and drag a `0` block, connecting it to the empty socket in the `set` value block. Your code should look like this:
-
-![](/static/mb/blocks/lessons/variables-0.png)
-
-## Using Variables
-
-We can also set value to something else using this line. For example, we could use the functions in the **Maths** drawer to set value to a new value. If we combine this with the `forever` loop and if statements from the previous page then we can create a counter:
-
-![](/static/mb/blocks/lessons/variables-1.png)
-
-Drag a `forever` block from the **Basic** drawer and add an `if` block from the **If** drawer. Attach the ‘button pressed’ block from the ‘Input’ drawer.
-
-Drag another `set item` block from the **Variables** draw and click the **down arrow** next to item, however this time select **value**, we don’t have to declare it again as we have already created it. Open the **Maths** drawer and drag a `+` block before clicking it into place in the `set` value block. Drag an `item` block from the **Variables** drawer and again click the **down arrow** before selecting **value**. Add a `0` from the **Maths** drawer and change the value from **0** to **1**.
-
-Finally, beneath that line, drag a `show number` block from the **Basic** drawer, and drag out the `0`. Drag another variable block from the **Variables** drawer, change it to `value`, and drop this into the space.
-
-### What does this code do?
-
-* We create a new variable called value and set it to 0
-* The code runs forever and waits for the user to press the A button
-* When the user does, value will be set to value + 1 (value will be incremented by 1)
-* Value will then be displayed on the @boardname@'s LEDS
-* This effectively creates a counter
-
-Variables can also be used for conditions with loops. See the 'Loops' section to learn about this.
-
diff --git a/docs/lessons/zoomer.md b/docs/lessons/zoomer.md
deleted file mode 100644
index 1c842362..00000000
--- a/docs/lessons/zoomer.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# zoomer blocks lesson
-
-measure the acceleration on the @boardname@ in the "z" direction.
-
-
-
-## Topic
-
-Acceleration
-
-## Quick Links
-
-* [activity](/lessons/zoomer/activity)
-* [challenges](/lessons/zoomer/challenges)
-* [quiz](/lessons/zoomer/quiz)
-* [quiz answers](/lessons/zoomer/quiz-answers)
-
-## Prior learning/place of lesson in scheme of work
-
-Learn how to get the **acceleration**, `acceleration` in one of three specified dimensions. We will be learning how to get the acceleration using a forever loop, local variables, input on button pressed, as well as simple commands, such as show number and pause.
-
-## Documentation
-
-```cards
-basic.forever(() => {
-})
-let x = 0
-input.acceleration(Dimension.X)
-if (true) {
-}
-input.buttonIsPressed(Button.A)
-basic.showNumber(0)
-```
-
-## Objectives
-
-* learn how to repeat code in the background forever
-* learn how to create a variable to store data
-* learn how to get the acceleration value (g-force), in one of three specified dimensions
-* learn how to pause your code for the specified number of milliseconds
-* learn how to conditionally run code depending on whether a condition is true or not
-* learn how to get the state of an input button
-* learn how to show a number on the LED screen
-
diff --git a/docs/lessons/zoomer/activity.md b/docs/lessons/zoomer/activity.md
deleted file mode 100644
index cdc69dff..00000000
--- a/docs/lessons/zoomer/activity.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# zoomer block activity
-
-Measure the acceleration on the @boardname@ in the "z" direction.
-
-### ~avatar avatar
-
-
-
-### ~
-
-Welcome! This activity will teach how to measure the acceleration on the @boardname@ in the "z" direction. Let's get started!
-
-We want to display the acceleration forever. In order to do so, we need a `forever` loop.
-
-```blocks
-basic.forever(() => {
-
-})
-```
-
-Let's measure the acceleration and then store in it a variable `az`. The acceleration is measured in **milli-gravities**, so a value of `-1000` is equivalent to `-1g` or `-9.81m/s^2`.
-
-```blocks
-basic.forever(() => {
- let az = input.acceleration(Dimension.Z)
-})
-```
-
-Show the value of `az` on the screen.
-
-```blocks
-basic.forever(() => {
- let az = input.acceleration(Dimension.Z)
- basic.showNumber(az)
-})
-```
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/lessons/zoomer/challenges)!
-
-### ~
-
diff --git a/docs/lessons/zoomer/challenges.md b/docs/lessons/zoomer/challenges.md
deleted file mode 100644
index aa07bd0a..00000000
--- a/docs/lessons/zoomer/challenges.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# zoomer blocks challenges
-
-Coding challenges for zoomer.
-
-## Before we get started
-
-Complete the following [activity](/lessons/zoomer/activity) and your finished code should look like this:
-
-```blocks
-basic.forever(() => {
- let az = input.acceleration(Dimension.Z)
- basic.showNumber(az)
-})
-```
-### Challenge 1
-
-
-
-We'll modify the code to display the `x` acceleration if the `A` button is pressed. For that, we need to store `acceleration (x)` in a new variable `ax` and use a `button (A) is pressed` to detect if the button is pressed.
-
-```blocks
-basic.forever(() => {
- let az = input.acceleration(Dimension.Z)
- let ax = input.acceleration(Dimension.X)
- if (input.buttonIsPressed(Button.A)) {
- basic.showNumber(ax)
- }
- basic.showNumber(az)
-})
-```
-
-* Run the code to see if it works as expected.
-
-### Challenge 2
-
-Display the `y` acceleration when `B` is pressed by adding another `if` statement using `button (B) is pressed`.
-
diff --git a/docs/lessons/zoomer/quiz-answers.md b/docs/lessons/zoomer/quiz-answers.md
deleted file mode 100644
index 4b240242..00000000
--- a/docs/lessons/zoomer/quiz-answers.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# zoomer quiz answers
-
-Measure the acceleration on the @boardname@ in the "z" direction.
-
-This is the answer key for the [zoomer quiz](/lessons/zoomer/quiz).
-
-## 1. What is 'acceleration'?
-
-Acceleration is amount of force being applied to the @boardname@ in one of three specified directions.
-
-## 2. Consider the following directions
-
-Write the line of code to measure the acceleration and then store in it a variable.
-
-
-
-```blocks
-let accX = input.acceleration("x")
-```
-
-Note: acceleration does not have be measured in the "x" direction. It can also be in the "y" or "z" direction.
-
-## 3. Consider the following directions
-
-After storing the acceleration in a variable, write the code to show acceleration on the @boardname@ as a number
-
-
-
-```blocks
-let accX = input.acceleration("x")
-basic.showNumber(accX, 150)
-```
-
-Note: make sure the same variable name ("acc x" in this case) is the same in both lines of code..
-
diff --git a/docs/lessons/zoomer/quiz.md b/docs/lessons/zoomer/quiz.md
deleted file mode 100644
index 6a72bdda..00000000
--- a/docs/lessons/zoomer/quiz.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# zoomer quiz
-
-Measure the acceleration on the @boardname@ in the "z" direction.
-
-## Name
-
-## Directions
-
-Use this activity document to guide your work in the [zoomer tutorial](/lessons/zoomer/activity)
-
-Answer the questions while completing the tutorial. Pay attention to the dialogues!
-
-## 1. What is 'acceleration'?
-
-
-
-## 2. Write the line of code to measure the acceleration and then store in it a variable.
-
-
-
-## 3. After storing the acceleration in a variable, write the code to show acceleration on the @boardname@ as a number.
-
-
-
diff --git a/docs/offline.md b/docs/offline.md
deleted file mode 100644
index f34a264c..00000000
--- a/docs/offline.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Offline editing
-
-## Web application
-
-**@homeurl@ is an HTML5 web application** that automatically gets cached locally by your browser.
-Once the web app is loaded and you have compiled at least once, you will have all the code needed to work without an internet connection.
-
-## Command line interface
-
-For more experience users, you can download the entire toolchain and use the [command line interface](/cli) (CLI) to compile
-and deploy your scripts locally. PXT provides a great out-of-the-box experience using [Visual Studio Code](/code),
-a lightweight cross-platform code editor.
-
-![](/static/mb/vscode.png)
-
-## Native clients
-
-There are no native clients available yet.
\ No newline at end of file
diff --git a/docs/open-source.md b/docs/open-source.md
deleted file mode 100644
index acfdc086..00000000
--- a/docs/open-source.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Open Source
-
-The editor is open source on GitHub under the MIT license. Contributions are welcome, please check our GitHub repos.
-
-## Source Code
-
-* [microsoft/pxt-microbit](https://github.com/Microsoft/pxt-microbit), PXT target for BBC micro:bit, also includes the documentation.
-* [microbit/pxt](https://github.com/Microsoft/pxt), programming experience toolkit (PXT)
-* [microsoft/pxt-microbit-core](https://github.com/Microsoft/pxt-microbit-core), Yotta module used to build the BBC micro:bit runtime
-
-## C++ Runtime
-
-The [C++ micro:bit runtime](http://lancaster-university.github.io/microbit-docs/), created at [Lancaster University](http://www.lancaster.ac.uk/), provides access to the hardware functions of the micro:bit,
-as well as a set of helper functions (such as displaying a number/image/string on the LED screen).
-
-## Packages
-
-* [microsoft/pxt-neopixel](https://github.com/microsoft/pxt-neopixel), package for neopixel strips
-* [microsoft/pxt-max6675](https://github.com/microsoft/pxt-max6675), package for Temperature Probe (MAX6675)
\ No newline at end of file
diff --git a/docs/packages.md b/docs/packages.md
deleted file mode 100644
index e2e758b3..00000000
--- a/docs/packages.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# Packages
-
-You can publish libraries (also known as packages or extensions)
-that users can then add to their scripts. These typically
-provide a driver for a particular hardware device you can connect
-to a microbit.
-
-* [pxt-max6675](https://github.com/Microsoft/pxt-max6675) -- TypeScript
-* [pxt-neopixel](https://github.com/Microsoft/pxt-neopixel) -- TypeScript + ARM Thumb assembly package
-* [pxt-sonar](https://github.com/microsoft/pxt-sonar) -- TypeScript
-* [pxt-i2c-fram](https://github.com/microsoft/pxt-i2c-fram) -- TypeScript
-
-* [Sample C++ extension](https://github.com/Microsoft/pxt-microbit-cppsample)
-* [Sample TypeScript extension](https://github.com/Microsoft/pxt-microbit/tree/master/libs/i2c-fram)
-
-## Finding packages
-
-From the editor, the user clicks on **More** then **Add Package** and searches for the package.
-
-To see the list of packages, click on **More** then **Show Files** to see the project file list.
-
-To remove a package, click on the garbage button in the file list next to the package.
-
-## Publishing packages
-
-Packages can be published from the pxt command line. Check out [the docs](https://www.pxt.io/packages).
-
-## Localizing packages
-
-It is possible to package localization strings for the **jsDoc** description associated to the API in the package.
-
-When compiling a package, the PXT compiler generates a `strings.json` file under the `_locales/` folder.
-This file contains a map from the symbol name to the en
-
-```
-{
- ...
- "basic": "Provides access to common functionality.",
- ...
-}
-```
-
-```
-{
- "basic.clearScreen": "Eteint toutes les diodes."
-}
-```
-
-```
-_locales/
-_locales/fr/strings.json
-_locales/pt-BR/strings.json
-```
diff --git a/docs/projects.md b/docs/projects.md
deleted file mode 100644
index a50cf8c6..00000000
--- a/docs/projects.md
+++ /dev/null
@@ -1,95 +0,0 @@
-# Projects
-
-Here are some cool projects that you can build with your @boardname@!
-
-## Games
-
-Fun games to build with your @boardname@.
-
-```codecard
-[{
- "name": "Flashing Heart",
- "url":"/projects/flashing-heart",
- "imageUrl": "/static/mb/projects/a1-display.png"
-},{
- "name": "Smiley Buttons",
- "url":"/projects/smiley-buttons",
- "imageUrl": "/static/mb/projects/a2-buttons.png"
-},{
- "name": "Love Meter",
- "url":"/projects/love-meter",
- "imageUrl":"/static/mb/projects/a3-pins.png"
-},{
- "name": "Rock Paper Scissors",
- "url":"/projects/rock-paper-scissors",
- "imageUrl":"/static/mb/projects/a4-motion.png"
-},{
- "name": "Magic Button Trick",
- "url":"/projects/magic-button-trick",
- "imageUrl":"/static/mb/projects/magic-button-trick.png"
-}]
-```
-
-## Music
-
-```codecard
-[{
- "name": "Hack your headphones",
- "url":"/projects/hack-your-headphones",
- "imageUrl":"/static/mb/projects/a6-music.png"
-}, {
- "name": "Banana keyboard",
- "url":"/projects/banana-keyboard",
- "imageUrl":"/static/mb/projects/a7-conductive.png"
-}, {
- "name": "Guitar",
- "url":"/projects/guitar",
- "imageUrl":"/static/mb/projects/guitar.png"
-}]
-```
-
-## Fashion
-
-```codecard
-[{
- "name": "Duct Tape Wallet",
- "url":"/projects/wallet",
- "imageUrl":"/static/mb/projects/wallet.png"
-}, {
- "name": "Watch",
- "url":"/projects/the-watch",
- "imageUrl":"/static/mb/projects/a10-watch.png"
-}]
-```
-
-## Science and Engineering
-
-```codecard
-[{
- "name": "Timing gates",
- "url":"/projects/timing-gates",
- "imageUrl":"/static/mb/projects/timing-gates.jpg"
-}]
-```
-
-## More
-
-```codecard
-[{
- "name": "Compass",
- "url":"/projects/compass",
- "imageUrl":"/static/mb/projects/a5-compass.png"
-},{
- "name": "Telegraph",
- "url":"/projects/telegraph",
- "imageUrl":"/static/mb/projects/a8-network.png"
-},{
- "name": "Radio",
- "url":"/projects/radio",
- "imageUrl":"/static/mb/projects/a9-radio.png"
-}]
-```
-
-### See Also
-
-[Flashing Heart](/projects/flashing-heart), [Smiley Buttons](/projects/smiley-buttons), [Love Meter](/projects/love-meter), [Rock Paper Scissors](/projects/rock-paper-scissors), [Compass](/projects/compass), [Hack your headphones](/projects/hack-your-headphones), [Banana keyboard](/projects/banana-keyboard), [Telegraph](/projects/telegraph), [Radio](/projects/radio), [Guitar](/projects/guitar), [Watch](/projects/the-watch)
\ No newline at end of file
diff --git a/docs/projects/banana-keyboard.md b/docs/projects/banana-keyboard.md
deleted file mode 100644
index 85d0d302..00000000
--- a/docs/projects/banana-keyboard.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# banana keyboard
-
-### @description A beginner maker activity, building a piano from bananas.
-
-### ~avatar
-
-Build your own @boardname@ piano using bananas!
-
-### ~
-
-![](/static/mb/lessons/banana-keyboard-0.png)
-
-## Duration: ~20 minutes.
-
-## Materials
-
-* @boardname@, battery holder and 2 AAA batteries
-* Bananas
-* Orange
-* Crocodile clips
-
-## Activities
-
-* [Making the keyboard](/projects/banana-keyboard/make)
-* [Beat box](/projects/banana-keyboard/beat-box)
-
-### ~button /projects/banana-keyboard/make
-Let's get started!
-### ~
diff --git a/docs/projects/banana-keyboard/beat-box.md b/docs/projects/banana-keyboard/beat-box.md
deleted file mode 100644
index d5040ef5..00000000
--- a/docs/projects/banana-keyboard/beat-box.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# banana keyboard - beat box
-
-Have you ever tried to making beat box sounds? Let's try making a beatbox with code!
-
-We will register an event handler on the fruit that will execute when two things occur: first, the alligator clip attaches to GND and the other side of the alligator clip is inserted into a banana. Let's start by adding a variable where you can store data. Then rename the variable to "sound". Then set the value of the variable to the note block `A` from the Music drawer. Modify your code so that your code looks like this.
-
-```blocks
-let sound = music.noteFrequency(Note.A);
-```
-
-We want to play music on pin pressed in order to register an event handler that will execute whenever when you run a script and click pin 1 on the simulator. We must start by opening the Input drawer and adding `on pin pressed` P1. Modify your code so that your code looks like this.
-
-```blocks
-let sound = music.noteFrequency(Note.A);
-input.onPinPressed(TouchPin.P1, () => {
-
-})
-```
-
-We want to code the notes that will be played `on pin pressed`. We click on the Input drawer then insert a `for loop` that will increment by *i*. Click on the Variables drawer. Add `set item` block. Rename the variable block to "sound." Then add a Maths block to increase the variable sound from the note frequency of block `A` to `A` plus 25.Modify your code so that your code looks like this
-
-```blocks
-let sound = music.noteFrequency(Note.A);
-input.onPinPressed(TouchPin.P1, () => {
- for (let i = 0; i < 4; i++) {
- sound = sound + 25
- }
-})
-```
-
-
-* click *Download* to see if the code works as expected.
-
-
-
-Let's include a second sound `on pin pressed` *P2*. To do this, you need to add the same blocks as the banana keyboard activity. However, you must change alter `on pin pressed` from P1 to P2. Additionally, you must *decrease* the frequency of the variable "sound" by 25. Modify your code so that your code looks like this. You will need to include a second banana to a alligator (spring) clip in the same procedure as the first activity.
-
-```blocks
-let sound = music.noteFrequency(Note.A);
-
-input.onPinPressed(TouchPin.P1, () => {
- for (let i = 0; i < 4; i++) {
- sound = sound + 25
- }
-})
-
-input.onPinPressed(TouchPin.P2, () => {
- for (let i = 0; i < 4; i++) {
- sound = sound - 25
- }
-})
-```
-
-* click *Download* to see if the code works as expected.
diff --git a/docs/projects/banana-keyboard/make.md b/docs/projects/banana-keyboard/make.md
deleted file mode 100644
index d9e5cbec..00000000
--- a/docs/projects/banana-keyboard/make.md
+++ /dev/null
@@ -1,85 +0,0 @@
-# banana keyboard - making
-
-## Materials
-
-* @boardname@, battery holder and 2 AAA batteries
-* Bananas
-* Orange
-* Crocodile clips
-
-## Steps
-
-### Step 1
-
-![](/static/mb/lessons/banana-keyboard-1.png)
-
-Using the 1st crocodile clip, connect the end of the crocodile clip onto GND pin on the @boardname@.
-
-### Step 2
-
-![](/static/mb/lessons/banana-keyboard-2.png)
-
-![](/static/mb/lessons/banana-keyboard-3.png)
-
-Using the 2nd crocodile clip, connect the end of the crocodile clip onto the 0 pin on the @boardname@.
-
-### Step 3
-
-![](/static/mb/lessons/banana-keyboard-4.png)
-
-Using the 1st crocodile clip, connect the second end of the crocodile clip onto based of the headphone jack.
-
-### Step 4
-
-![](/static/mb/lessons/banana-keyboard-5.png)
-
-![](/static/mb/lessons/banana-keyboard-6.png)
-
-Using the 2nd crocodile clip, connect the second end of the crocodile clip onto tip of the headphone jack.
-
-### Step 5
-
-![](/static/mb/lessons/banana-keyboard-7.png)
-
-Using the 3rd crocodile clip, connect the end of the crocodile clip onto the 1st crocodile clip already clipped onto GND.
-
-### Step 6
-
-![](/static/mb/lessons/banana-keyboard-8.png)
-
-![](/static/mb/lessons/banana-keyboard-9.png)
-
-Using the 3rd crocodile clip, connect the unattached end of the crocodile clip onto the orange.
-
-### Step 7
-
-![](/static/mb/lessons/banana-keyboard-10.png)
-
-Using the 4th crocodile clip, connect the end of the crocodile clip onto pin 1 on the @boardname@.
-
-### Step 8
-
-![](/static/mb/lessons/banana-keyboard-11.png)
-
-Using the 4th crocodile clip, connect the unattached end of the crocodile clip onto the banana.
-
-### Step 9
-
-![](/static/mb/lessons/banana-keyboard-12.png)
-
-Your banana keyboard is ready!
-
-### Step 10
-
-Connect your @boardname@ to your computer using your USB cable and run this script:
-```blocks
-input.onPinPressed(TouchPin.P1, () => {
- music.playTone(music.noteFrequency(Note.C), music.beat(BeatFraction.Quarter));
-});
-```
-
-Tap your banana instrument to play sound against... the fruit!
-
-### ~button /projects/banana-keyboard/beat-box
-NEXT: beat box
-### ~
diff --git a/docs/projects/compass.md b/docs/projects/compass.md
deleted file mode 100644
index f22ffe04..00000000
--- a/docs/projects/compass.md
+++ /dev/null
@@ -1,105 +0,0 @@
-# compass
-
-![](/static/mb/projects/a5-compass.png)
-
-Display the direction that the @boardname@ is facing using the compass
-
-### ~avatar avatar
-
-Welcome! This guided tutorial will show you how to program a script that displays the direction the @boardname@ is pointing. Let's get started!
-
-### ~
-
-
-## Step 1
-
-Create a loop that will continuously update the reading of the compass.
-
-
-```blocks
-basic.forever(() => {
-
-})
-```
-
-## Step 2
-
-Store the reading of the @boardname@ in a variable called `degrees`.
-
-```blocks
-basic.forever(() => {
- let degrees = input.compassHeading()
-})
-```
-
-## Step 3
-
-If `degrees` is less than `45`, then the compass heading is mostly pointing toward North. Display `N` on the @boardname@.
-
-```blocks
-basic.forever(() => {
- let degrees = input.compassHeading();
- if (degrees < 45) {
- basic.showString("N");
- }
-});
-```
-
-## Step 4
-
-If `degrees` is less than 135, the @boardname@ is mostly pointing East. Display `E` on the @boardname@.
-
-
-```blocks
-basic.forever(() => {
- let degrees = input.compassHeading();
- if (degrees < 45) {
- basic.showString("N");
- }
- else if (degrees < 135) {
- basic.showString("E");
- }
-});
-```
-
-## Step 5
-
-If `degrees` is less than 225, the @boardname@ is mostly pointing South. Display `S` on the @boardname@.
-
-
-```blocks
-basic.forever(() => {
- let degrees = input.compassHeading();
- if (degrees < 45) {
- basic.showString("N");
- }
- else if (degrees < 135) {
- basic.showString("E");
- }
- else if (degrees < 225) {
- basic.showString("S");
- }
-});
-```
-
-## Step 6
-
-If none of these conditions returned true, then the @boardname@ must be pointing West. Display `W` on the @boardname@.
-
-```blocks
-basic.forever(() => {
- let degrees = input.compassHeading();
- if (degrees < 45) {
- basic.showString("N");
- }
- else if (degrees < 135) {
- basic.showString("E");
- }
- else if (degrees < 225) {
- basic.showString("S");
- }
- else {
- basic.showString("W");
- }
-});
-```
diff --git a/docs/projects/flashing-heart.md b/docs/projects/flashing-heart.md
deleted file mode 100644
index 42068cf1..00000000
--- a/docs/projects/flashing-heart.md
+++ /dev/null
@@ -1,121 +0,0 @@
-# flashing heart
-
-![](/static/mb/projects/a1-display.png)
-
-### ~avatar avatar
-
-```sim
-basic.forever(() => {
-basic.showLeds(`
- . # . # .
- # # # # #
- # # # # #
- . # # # .
- . . # . .`
- );
-basic.pause(500);
-basic.clearScreen();
-basic.pause(500);
-})
-```
-
-Use the LEDs to display a flashing heart, and then create
-an animation of a broken heart. :(
-
-### ~
-
-## Step 1
-
-Use [show leds](/reference/basic/show-leds) and make your code look like this:
-
-```blocks
-basic.showLeds(`
- . # . # .
- # # # # #
- # # # # #
- . # # # .
- . . # . .`
- );
-```
-
-## Step 2
-
-Add a [pause](/reference/basic/pause) to wait and [clear screen](/reference/basic/clear-screen) to turn off the LEDs.
-
-```blocks
-basic.showLeds(`
- . # . # .
- # # # # #
- # # # # #
- . # # # .
- . . # . .`);
-basic.pause(500);
-basic.clearScreen();
-```
-
-## Step 3
-
-Put a [forever loop](/reference/basic/forever) around it.
-
-```blocks
-basic.forever(() => {
-basic.showLeds(`
- . # . # .
- # # # # #
- # # # # #
- . # # # .
- . . # . .`
- );
-basic.pause(500);
-basic.clearScreen();
-})
-```
-
-## Step 4
-
-Add a [pause](/reference/basic/pause) to wait after clearing the screen.
-
-```blocks
-basic.forever(() => {
-basic.showLeds(`
- . # . # .
- # # # # #
- # # # # #
- . # # # .
- . . # . .`
- );
-basic.pause(500);
-basic.clearScreen();
-basic.pause(500);
-})
-```
-
-## Step 5
-
-Add a second image of a broken heart.
-
-
-```blocks
-basic.forever(() => {
-basic.showLeds(`
- . # . # .
- # # # # #
- # # # # #
- . # # # .
- . . # . .`
- );
-basic.pause(500);
-basic.clearScreen();
-basic.pause(500);
-basic.showLeds(`
- . # . # .
- # . # # #
- # . . . #
- . # # # .
- . . # . .`
- );
-basic.pause(500);
-basic.clearScreen();
-basic.pause(500);
-})
-```
diff --git a/docs/projects/guitar.md b/docs/projects/guitar.md
deleted file mode 100644
index 43703e3e..00000000
--- a/docs/projects/guitar.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# Guitar
-
-![guitar icon](/static/mb/projects/guitar.png)
-
-### @description A beginner-intermediate maker activity, building a guitar with the @boardname@
-
-### ~avatar avatar
-
-Make a @boardname@ guitar with this guided tutorial!
-
-### ~
-*playing @boardname@ guitar*
-https://youtu.be/GYmdTFvxz80
-
-## Duration
-
-5 Activities, approx 30-45 min each based on familiarity with the coding concepts
-
-## Materials
-
-* Cardboard large pieces (recycle!)
-* Tape (masking, duct tape, and/or packing tape)
-* Markers and/or paint
-* Aluminum Foil
-* Scissors that can cut cardboard
-* 1 @boardname@, battery holder and 2 AAA batteries
-* 4-5 Crocodile clips
-* Headphones
-
-## Activities
-
-* [Making the Guitar Body](/projects/guitar/make)
-* [Buttons, Display & Sound](/projects/guitar/displaybuttons)
-* [Light Sensor Tone control](/projects/guitar/lightsensor)
-* [Accelerometer Beat control](/projects/guitar/accelerometer)
-* [Pin Press Switch](/projects/guitar/pinpress)
-
-### ~button /projects/guitar/make
-
-Let's get started!
-
-### ~
diff --git a/docs/projects/guitar/accelerometer.md b/docs/projects/guitar/accelerometer.md
deleted file mode 100644
index 925fb549..00000000
--- a/docs/projects/guitar/accelerometer.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# Accelerometer Beat control
-
-### @description @boardname@ guitar: using accelerometer to control tempo
-
-### ~avatar avatar
-
-Use the Accelerometer to control guitar tempo
-* Concepts:
- * Gravity
- * Acceleration
- * X, Y, Z coordinates
- * Tempo
- * Beat
- * Mapping
- * Graphing
- * Absolute value
-
-### ~
-
-## Duration: 30 - 45 minutes
-
-*accelerometer controlled tempo*
-https://youtu.be/kA0HpqCWsjs
-
-## Blocks
-
-```cards
-input.acceleration(Dimension.Y)
-music.setTempo(120)
-pins.map(0, 0, 1023,60, 320)
-Math.abs(1)
-```
-
-## Accelerometer, gravity and tilting!
-
-The @boardname@ contains an **accelerometer** sensor that is able to measure forces applied to the board.
-On earth, we are subject to the **gravity force** which pulls us to the ground!
-
-https://youtu.be/0SULoTKmkhI
-
-When the @boardname@ is flat on a table, with the screen pointing up, the gravity force is aligned
-with the **Z** axis of the @boardname@.
-
-![@boardname@ x, y, z axis image](/static/mb/projects/guitar/accelleration_axis.png)
-
-If you tilt it up and down, the force will align with the **Y** axis -- this is how we can detect tilting!!!
-If the force along **Y** grows, the @boardname@ is tilting more and more vertically!
-
-## Measuring Acceleration along different coordinates (X, Y, Z axis)
-
-The acceleration block approximately measures **milli-g**, which is 1/1000 of a **g** or the
-acceleration of gravity.
-
-### Step 1: Graphing acceleration
-```blocks
-basic.forever(() => {
- led.plotBarGraph(input.acceleration(Dimension.Y), 1023)
-})
-```
-**Create the code** that measures the change in the Y axis acceleration as a graph on the LEDs
-
-**Dowload the code** to the @boardname@
-
-**Test the movements that move the graph from 1 to 5 bars on the LEDs**
-
-### Extra
-
-Try graphing the acceleration along the **X** and **Z** axis. Can you explain the differences?
-
-### ~hint
-## Mapping
-**It is common to map one standard to another - such as with temperature**
-![Fahrenheit to Celsius](/static/mb/projects/guitar/map_analogy.png "Fahrenheit to Celsius")
-### ~
-
-### Step 2: Mapping acceleration to Beat
-**@boardname@ sensors produce signal values between 0 to 1023. The *[map block](/reference/pins/map)* converts the signal to a desired range.**
-```blocks
-basic.forever(() => {
- music.setTempo(pins.map(Math.abs(input.acceleration(Dimension.Y)),
- 0, 1023,
- 60, 320))
- music.playTone(Note.C, music.beat(BeatFraction.Quarter));
-})
-```
-
-**Create the code** that *Maps* Y axis acceleration as *tempo*
-
-**Download the code** to the @boardname@ on the guitar
-
-**Test the movements that speed and slow the tempo**
-
-### Step 3: Combine with light sensor tone control
-**Put it all together!**
-
-```blocks
-basic.forever(() => {
- music.setTempo(pins.map(Math.abs(input.acceleration(Dimension.Y)),
- 0, 1023,
- 60, 320))
- music.playTone(
- input.lightLevel() * 25,
- music.beat(BeatFraction.Quarter)
- );
-})
-```
-**Combine the code above with the light sensor tone control code from the previous activity**
-
-**Download the code** to the @boardname@ on the guitar
-
-### Now play the guitar adjusting tone and tempo using the light sensor and accelerometer!
-
-### ~button /projects/guitar/pinpress
-NEXT: Pin Press on/off
-### ~
diff --git a/docs/projects/guitar/displaybuttons.md b/docs/projects/guitar/displaybuttons.md
deleted file mode 100644
index 8b123b0d..00000000
--- a/docs/projects/guitar/displaybuttons.md
+++ /dev/null
@@ -1,179 +0,0 @@
-# Buttons, Display & Sound
-### @description @boardname@ guitar: using buttons with display and sound
-
-### ~avatar avatar
-Use Button Events to control LED Display and play Sound
-* **Concepts:**
- * Events
- * Tone/Note
- * Sequence
-
-### ~
-
-## Duration: 30 - 45 minutes
-
-## Materials
-
-A @boardname@, battery pack and 2 x AAA batteries
-
-![battery pack and @boardname@](/static/mb/projects/guitar/microbit.jpg)
-
-2 to 4 crocodile clips
-
-![crocodile clips](/static/mb/projects/guitar/crocclips.jpg)
-
-Headphones
-
-![earbud headphones](/static/mb/projects/guitar/headphones.jpg)
-
-## Blocks
-
-```cards
- basic.showLeds(`
- . # . # .
- . . . . .
- . # # # .
- . # . # .
- . # # # .
- `);
-input.onButtonPressed(Button.A, () => {});
-music.playTone(Note.C, music.beat(BeatFraction.Quarter))
-music.rest(music.beat(BeatFraction.Whole))
-music.beat(BeatFraction.Quarter)
-```
-
-## Step 1: Make a Smiley
-Open @homeurl@ in your web browser
-```blocks
- basic.showLeds(`
- . # . # .
- . . . . .
- . # # # .
- . # . # .
- . # # # .
- `);
-```
-From **Basics**, drag a **show LEDs** block into the coding area
- * Create a face with LEDs
-
-![@boardname@ USB connection](/static/mb/projects/guitar/connectmicrobit.jpg)
-Connect your @boardname@ to your computer via USB and click **`Download`**.
-Follow the instructions to move the code to your @boardname@.
-
-## Step 2: Add Smiley LED Button Events
-```blocks
-input.onButtonPressed(Button.A, () => {
- basic.showLeds(`
- . # . # .
- . . . . .
- . # # # .
- . # . # .
- . # # # .
- `)
-})
-input.onButtonPressed(Button.B, () => {
- basic.showLeds(`
- . # . # .
- . . . . .
- . . . . .
- # . . . #
- . # # # .
- `)
-})
-```
-
-From **Input**, drag an **on button 'A' pressed** block into the coding area
-
-* Snap the LED face into the block
-
-* Create a 'B' button block with a different LED face
-
-* Download the code to your @boardname@ and try the A & B buttons
-
-
-## Step 3: Add Headphone Speakers using Crocodile clips
-
-![crocodile clips attached to pins 0 and GND](/static/mb/projects/guitar/crocclipintoboard.jpg)
-
-![crocodile clips attached to headphone jack](/static/mb/projects/guitar/jacktocrocs.jpg)
-Connect **GND** to the **base of the headphone jack** using a second crocodile clip (usually black)
-
-Connect **pin 0** to the **tip of the headphone jack** with a crocodile clip
-
-*attaching batteries and @boardname@*
-https://youtu.be/zwRTmpKIaVU
-Attach the @boardname@ & battery-pack to the guitar body
-
-*connecting headphone speaker*
-https://youtu.be/ewyEW_U5G9M
-Connect the headphones with crocodile clips
-
-### ~hint
-## The @boardname@ can play music
-
-The **play tone** block allows a range letter note tones from **C** to **B5**.
-Songs are played using sequences notes. Like the beginning of a birthday song (C, C, D, C, F, E).
-```blocks
-input.onButtonPressed(Button.A, () => {
- music.playTone(Note.C, music.beat(BeatFraction.Quarter))
- music.rest(music.beat(BeatFraction.Whole))
- music.playTone(Note.C, music.beat(BeatFraction.Quarter))
- music.rest(music.beat(BeatFraction.Whole))
- music.playTone(Note.D, music.beat(BeatFraction.Quarter))
- music.rest(music.beat(BeatFraction.Whole))
- music.playTone(Note.C, music.beat(BeatFraction.Quarter))
- music.rest(music.beat(BeatFraction.Whole))
- music.rest(music.beat(BeatFraction.Whole))
- music.playTone(Note.F, music.beat(BeatFraction.Half))
- music.rest(music.beat(BeatFraction.Whole))
- music.playTone(Note.E, music.beat(BeatFraction.Whole))
-})
-```
-### ~
-## Step 4: Add Tone Playing Events for Buttons A & B
-```blocks
-input.onButtonPressed(Button.A, () => {
- basic.showLeds(`
- . # . # .
- . . . . .
- . # # # .
- . # . # .
- . # # # .
- `)
- music.playTone(Note.A, music.beat(BeatFraction.Whole))
-})
-input.onButtonPressed(Button.B, () => {
- basic.showLeds(`
- . # . # .
- . . . . .
- . . . . .
- # . . . #
- . # # # .
- `)
- music.playTone(Note.G, music.beat(BeatFraction.Whole))
-})
-```
-From **Music**, drag **play tone *C* for *1* beat** block under the **show leds** in **Button A Pressed**
-
- * modify **tone** by choosing a note (*letter*) and experiment with high and low pitches
- * set **beat** to 1
-
-**Repeat** for **Button B** event
-
-**Download the code** to the @boardname@
-
-**Try the A & B buttons** with headphones and power connected
-
-## Congratulations on completing the basic guitar!
-**Challenge:** Create samples of longer music to play for each button instead of the single tone
- * *Tip*: Search for "ABC music notation" or "Easy Music Notes" + the name of a song
-
-## Extra
-
-* [Smiley Buttons tutorial](/projects/smiley-buttons)
-* [Hack your headphones](/projects/hack-your-headphones)
-
-
-### ~button /projects/guitar/lightsensor
-NEXT: Light Sensor Tone Control
-### ~
\ No newline at end of file
diff --git a/docs/projects/guitar/lightsensor.md b/docs/projects/guitar/lightsensor.md
deleted file mode 100644
index 020d240a..00000000
--- a/docs/projects/guitar/lightsensor.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# Light Sensor Tone control
-
-### @description @boardname@ guitar: using light sensor to control tone
-
-### ~avatar avatar
-
-Use the Light Sensor to the control tone for this [Theremin](https://en.wikipedia.org/wiki/Theremin) inspired guitar
-
-* **Concepts:**
- * Inputs
- * Light Intensity
- * Tone/Frequency
- * Ratio Mapping
- * Forever Loop
- * Math (multiplication) with code properties
-### ~
-
-## Duration: 30 - 45 minutes
-
-*playing tones with light sensor*
-https://youtu.be/2cKg9pokVC4
-
-## The @boardname@ LEDs Light Sensors
-
-- the @boardname@ can detect external light level intensity reaching the LEDs
-- the light level block reports a reading of values 0 (*dark*) to 255 (*bright*)
-- a **Forever Loop** is required to continually measure the current light level and control the tone
-
-## Forever Loop
-
-The forever loop really does run forever. The forever loop is useful when there is a need to continually check for an event or use a changing value in code.
-
-## Blocks
-
-```cards
-basic.forever(() => {})
-input.lightLevel()
-led.plotBarGraph(0, 255)
-music.playTone(Note.C, music.beat(BeatFraction.Quarter))
-```
-
-## Step 1: Create a light level detector
-```blocks
-basic.forever(() => {
- led.plotBarGraph(input.lightLevel(), 255)
-})
-```
-**Build the blocks**
- * From **Basic** drag a **forever loop** block into the coding area
- * From **Led** drag a **plot bar graph** block into the **forever loop**
- * From **Input** drag a **light level** block into **plot bar graph *of***
-
-**Set the *plot bar graph* value *up to* = *255* **
-
-## Step 2: Test the light required to move the bar graph height
-
-*graphing light input*
-https://youtu.be/pqU7bTcfQ_s
-Experiment to see the effect on graph height when the **plot bar graph** value ***up to*** is changed
-
-**255 is the maximum light input reading**, try numbers smaller than 255
-**Find a value** that allows the graph to show 1 - 5 bars
-
-### ~hint
-### Frequency
-**Frequency** measured in Hz which are cycles per second or vibrations per second
- * A healthy human ear can detect frequencies in the range of 20Hz to 20,000Hz.
- * The @boardname@ + headphones reliably produce detectable output ~50Hz - 6,000Hz.
-
-**261Hz** represents a C note
-```blocks
-music.playTone(261, music.beat(BeatFraction.Half))
-```
-**play tone** blocks can specify a numeric **Frequency**
-by replacing the letter **C** note with a **number** block that has the value it represents
-```blocks
-music.playTone(261, music.beat(BeatFraction.Half))
-```
-### ~
-
-## Step 3: Multiply Frequency using Math blocks
- ```blocks
-input.onButtonPressed(Button.A, () => {
- music.playTone(261 * 2, music.beat(BeatFraction.Half))
-})
-```
-Create a **play tone** block using a **Math** section, **multiplication** block to set *tone*
-
-### Next
-**Add** a **B** button block that multiplies the **261** tone by a number other than 2 to set tone
-
-**Download the code to the @boardname@**
-
-**Test the sound for multiples of the 261Hz *C* frequency**
-
-## Step 4: Control the Frequency with the light input
-```blocks
-basic.forever(() => {
- music.playTone(input.lightLevel() * 25, music.beat(BeatFraction.Quarter))
-})
-```
-**Create a *forever loop* containing a *play tone* block**
-
-**Set *tone*, using *Math* multiplication block that multiplies *light level* input by 25**
-or experiment with multipliers larger and smaller than 25
-
-**Test light tone control on the guitar**
-Cover the LEDs with your hand to vary light detected to control the tone
-
-## Good work, this guitar is sounding good!
-**Challenge:** Create a variable for the light level multiplier that you can change using buttons (optional)
-
-### ~button /projects/guitar/accelerometer
-NEXT: Accelerometer Beat control
-### ~
diff --git a/docs/projects/guitar/make.md b/docs/projects/guitar/make.md
deleted file mode 100644
index b09c0a47..00000000
--- a/docs/projects/guitar/make.md
+++ /dev/null
@@ -1,59 +0,0 @@
-# Making the Guitar Body
-### @description Maker Project for Guitar Body for @boardname@
-
-### ~avatar avatar
-
-Make the Guitar Body for your @boardname@ Guitar
-
-### ~
-
-## Duration: ~45 minutes
-
-## Materials
- * Cardboard large pieces (recycle!)
- * Tape (masking, duct tape, and/or packing tape)
- * Scissors that can cut cardboard
- * Markers and/or paint
-
-![Materials: cardboard, tape, scissors, markers](/static/mb/projects/guitar/materials.jpg)
-
-## Step 1: Design the body
-*tracing the guitar design*
-https://youtu.be/xMSrWaOZkFg
-
-* Search for [Guitar Silhouette](https://www.bing.com/images/search?q=Guitar+Silhouettes) design ideas and customize
-the shape of your guitar
-* Trace the design on a flat piece of cardboard (40-80 cm is best)
-
-### ~hint
-
- * Avoid small details that are difficult to cut into cardboard
- * Unfolding a box gives longer pieces of cardboard and creases can be reinforced
-
-### ~
-
-## Step 2: Cut out the body
-*cutting the cardboard*
-https://youtu.be/aUQkrFoEank
-
-
-## Step 3: Personalize the Guitar
-
-Create unique styles using tape, markers, paint and other available materials (*calling all artists!*)
-
-*decorating the guitar*
-https://youtu.be/zNAZTJeSxY8
-
-Everyone can come up with a unique design!
-
-![guitar design samples](/static/mb/projects/guitar/otherdesigns.jpg)
-
-## Extra!
-*strengthening the guitar*
-https://youtu.be/q0GkQdJmxjE
-
-Strengthen the guitar next with an angled cardboard strip (*optional*).
-
-### ~button /projects/guitar/displaybuttons
-NEXT: Buttons, Display and Sound
-### ~
\ No newline at end of file
diff --git a/docs/projects/guitar/pinpress.md b/docs/projects/guitar/pinpress.md
deleted file mode 100644
index a0d3ad66..00000000
--- a/docs/projects/guitar/pinpress.md
+++ /dev/null
@@ -1,131 +0,0 @@
-# Pin Press Switch
-
-### @description @boardname@ guitar: use pin press to toggle guitar play on/off
-
-### ~avatar avatar
-Use pin press to switch guitar play on/off
-
-* Concepts:
- * Circuit
- * Conductor
- * Variable/Global-Variable
- * Conditional: **`if`**, **`else`**
- * Boolean: **`True`/`False`**
-### ~
-
-## Duration: approximately 45 minutes
-
-## Materials:
-2-3 Crocodile clips
-
-## Blocks
-
-```cards
-var on = false
-on;
-if (on) { } else {}
-input.onPinPressed(TouchPin.P1, () => {})
-```
-
-
-
-### ~hint
-## Circuits & Switches
-* **Circuits** need a power supply (battery), a resister (like a LED) & a conductor (metal, water, hand)
-* **Switches** turn electric power on by closing (completing) a circuit with a conductor so power can flow
-
-**Metal foil and wires make excellent conductors**
-
-**In this activity we use YOU to conduct electricity**
-**to close the circuit that switches the guitar ON and OFF!**
-### ~
-
-## Step 1: Pin Press Test
-
-```blocks
-input.onPinPressed(TouchPin.P0, () => {
- basic.showNumber(0)
-})
-input.onPinPressed(TouchPin.P1, () => {
- basic.showNumber(1)
-})
-input.onPinPressed(TouchPin.P2, () => {
- basic.showNumber(2)
-})
-```
-**Create the pin-press code**
-
-**Download the code** on the @boardname@
-
-https://youtu.be/PAIU-vHqyGU
-
-**Hold the @boardname@ touching The GND pin with one hand**
-**with the other hand alternately touch the 0, 1 and 2 pins**
-
-### ~hint
-**The electric signal traveled from pins, between your hands to `GND` and the @boardname@ detected the electric signal!**
-### ~
-
-## Step 2: Installing conductive foil on the guitar
-https://youtu.be/NX0ECcpXFes
-**Add foil to the guitar body where it is easy to touch while playing**
-
-**Connect the foil to `GND` using a crocodile clip**
-
-https://youtu.be/YkymZGNmkrE
-**Add foil to the guitar neck**
-
-**Connect the foil to `pin 1` using a crocodile clip**
-
-## Step 3: Add a switch to turn the guitar ON and OFF
-**Using the `on` global variable we can switch the message on the @boardname@**
-**between ON and OFF**
-```blocks
-let on = false
-basic.forever(() => {
- if (on == true) {
- basic.showString("ON")
- } else {
- basic.showString("OFF")
- }
-})
-input.onPinPressed(TouchPin.P1, () => {
- if (on == true) {
- on = false
- } else {
- on = true
- }
-})
-```
-**Create the ON/OFF switch code**
-
-**Download the code on the @boardname@**
-
-**Test by touching `P1` to toggle the LED message between ON and OFF**
-
-*Final code*
-TODO: do we want to use `on = !on;` or be more direct in flipping the switch? `on = true; on = false;`
-```blocks
-var on = false
-basic.forever(() => {
- if (on) {
- music.setTempo(pins.map(Math.abs(input.acceleration(Dimension.Y)),
- 0, 1023,
- 60, 320))
- music.playTone(
- input.lightLevel() * 25,
- music.beat(BeatFraction.Quarter)
- );
- } else {
- music.rest(music.beat())
- }
-})
-input.onPinPressed(TouchPin.P1, () => {
- on = !on;
-})
-```
-## Now Play!
-**Turn the guitar ON and OFF with a pin press on the connected foil by**
-**touching both pieces of foil at the same time to connect the switches**
-
-https://youtu.be/GYmdTFvxz80
\ No newline at end of file
diff --git a/docs/projects/hack-your-headphones.md b/docs/projects/hack-your-headphones.md
deleted file mode 100644
index b5bfd830..00000000
--- a/docs/projects/hack-your-headphones.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# hack your headphones
-
-### @description A beginner maker activity, building a piano from bananas.
-
-### ~avatar
-
-Build your own music player @boardname@ from headphones.
-
-### ~
-
-![](/static/mb/lessons/hack-your-headphones-0.png)
-
-
-## Duration: ~15 minutes.
-
-## Materials
-
-* @boardname@, battery holder and 2 AAA batteries
-* Headphones
-* Crocodile clips
-
-## Activities
-
-* [Connect your headphone](/projects/hack-your-headphones/make)
-* [Play sounds!]()
-
-# ~hint
-
-**No crocodile clips!?!?!** Use wires or Aluminium foil! [Read more...](/device/foil-circuits)
-
-# ~
-
-### ~button /projects/hack-your-headphones/make
-
-Let's get started!
-
-### ~
diff --git a/docs/projects/hack-your-headphones/make.md b/docs/projects/hack-your-headphones/make.md
deleted file mode 100644
index 680e3ec6..00000000
--- a/docs/projects/hack-your-headphones/make.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# hack your headphones - making
-
-### ~avatar avatar
-
-Did you know you could attach your headhpones to the @boardname@ to generate sounds?
-
-### ~
-
-# ~hint
-
-**No crocodile clips!?!?!** Use wires or Aluminium foil! [Read more...](/device/foil-circuits)
-
-# ~
-
-### Step 1
-
-![](/static/mb/lessons/banana-keyboard-1.png)
-
-Using the 1st crocodile clip, connect the end of the crocodile clip onto GND pin on the @boardname@.
-
-### Step 2
-
-![](/static/mb/lessons/banana-keyboard-2.png)
-
-![](/static/mb/lessons/banana-keyboard-3.png)
-
-Using the 2nd crocodile clip, connect the end of the crocodile clip onto the 0 pin on the @boardname@.
-
-### Step 3
-
-![](/static/mb/lessons/banana-keyboard-4.png)
-
-Using the 1st crocodile clip, connect the second end of the crocodile clip onto based of the headphone jack. The base of your headphone jack is considered the ground so it is connected to the GND of the @boardname@.
-
-### Step 4
-
-![](/static/mb/lessons/banana-keyboard-5.png)
-
-![](/static/mb/lessons/hack-your-headphones-1.png)
-
-Using the 2nd crocodile clip, connect the second end of the crocodile clip onto the tip of the headphone jack. The tip of your headphone jack feeds into the right speaker on the headphone. You connect from the @boardname@ pin 0 to the tip of the right side of your headphone. Use the tip of the headphone jack to play sounds.
-
-### Step 5
-
-![](/static/mb/lessons/hack-your-headphones-0.png)
-
-You hacked your headphones!
-
-### ~button /projects/hack-your-headphones/music-of-light
-
-NEXT: music of light
-
-### ~
diff --git a/docs/projects/hack-your-headphones/music-of-light.md b/docs/projects/hack-your-headphones/music-of-light.md
deleted file mode 100644
index e74d619e..00000000
--- a/docs/projects/hack-your-headphones/music-of-light.md
+++ /dev/null
@@ -1,70 +0,0 @@
-# hack your headphones - music of light
-
-### ~avatar avatar
-
-Have you ever tried to making beat box sounds based on the light level? Let's try making a beatbox with code!
-
-### ~
-
-Let's start by adding a variable where you can store data. Then rename the variable to "light". Then set the value of the variable to the block `light level` from the Input drawer. This will gets the `light level` from 0 (dark) to 255 (bright). The light is measured by using various LEDs from the screen. Modify your code so that your code looks like this.
-
-
-```blocks
-let light = input.lightLevel();
-```
-
-We want to play music on button pressed in order to register an event handler that will execute whenever when you run a script and click on button pressed on the simulator. We must start by opening the Input drawer and adding `on button pressed` A. Then add a block `rest` to plays nothing for a `1/16` beat. Modify your code so that your code looks like this.
-
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- music.rest(music.beat(BeatFraction.Sixteenth));
- let light = input.lightLevel();
-});
-```
-
-We click on the Logic drawer then insert a `if do` that will conditionally run code depending on whether the Boolean condition is true or false. Then insert the variable `light` into the first part of the inequality. The variable "light" will appear in the Variables drawer. Finally, we insert 25. Modify your code so that your code looks like this. If the `light level` is `less than` 25, play `ring tone` `C`. If this conditions is not true, play `ring tone` `A`.
-
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- music.rest(music.beat(BeatFraction.Sixteenth));
- let light = input.lightLevel();
- if (light < 25) {
- music.ringTone(music.noteFrequency(Note.C));
- }
- else {
- music.ringTone(music.noteFrequency(Note.A));
- }
-});
-```
-
-
-We click on the Logic drawer then insert a `less than` sign into the first `if` conditional that will conditionally run code depending on whether the Boolean condition is true or false. Continue this logic to continue with these conditional statements. Click on the Logic drawer. Then we want to add additional conditional statements by clicking on the gear to the left of the `if`. Add 05 `else if` and 01 `else` inside the `if do` block structure. If the `light level` is `less than` 50, play `ring tone` ``D``. If the `light level` is `less than` 100, play `ring tone` ``E``. If the `light level` is `less than` 150, play `ring tone` ``F`` If the `light level` is `less than` 180, play `ring tone` ``G``. If these conditions are not true, `ring tone` ``A``.
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- music.rest(music.beat(BeatFraction.Sixteenth));
- let light = input.lightLevel();
- if (light < 25) {
- music.ringTone(music.noteFrequency(Note.C));
- }
- else if (light < 50) {
- music.ringTone(music.noteFrequency(Note.D));
- }
- else if (light < 100) {
- music.ringTone(music.noteFrequency(Note.E));
- }
- else if (light < 150) {
- music.ringTone(music.noteFrequency(Note.F));
- }
- else if (light < 180) {
- music.ringTone(music.noteFrequency(Note.G));
- }
- else {
- music.ringTone(music.noteFrequency(Note.A));
- }
-});
-```
-
-* click **Download** and run your code on the @boardname@.
diff --git a/docs/projects/love-meter.md b/docs/projects/love-meter.md
deleted file mode 100644
index 3de0244a..00000000
--- a/docs/projects/love-meter.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# love meter
-
-![](/static/mb/projects/a3-pins.png)
-
-Use pins P0, P1 and P2 to change the display by creating a circuit with your body.
-
-## Step 1
-
-Use [on pin pressed](/reference/input/on-pin-pressed) to show a random number
-when pin P0 is pressed (hold the GND pin with other hand):
-
-```blocks
-input.onPinPressed(TouchPin.P0, () => {
- basic.showNumber(Math.random(11));
-});
-```
-## Step 2
-
-Show a string when pin P1 is pressed:
-
-```blocks
-input.onPinPressed(TouchPin.P0, () => {
- basic.showNumber(Math.random(11));
-});
-input.onPinPressed(TouchPin.P1, () => {
- basic.showString("LOVE?");
-});
-```
-
-## Step 3
-
-Show a heart when pin P2 is pressed:
-
-```blocks
-input.onPinPressed(TouchPin.P0, () => {
- basic.showNumber(Math.random(11));
-});
-input.onPinPressed(TouchPin.P1, () => {
- basic.showString("LOVE?");
-});
-input.onPinPressed(TouchPin.P2, () => {
- basic.showLeds(`
- . # # # .
- # # # # #
- # # # # #
- . # # # .
- . . # . .
- `);
-});
-```
diff --git a/docs/projects/magic-button-trick.md b/docs/projects/magic-button-trick.md
deleted file mode 100644
index 8963c3ba..00000000
--- a/docs/projects/magic-button-trick.md
+++ /dev/null
@@ -1,101 +0,0 @@
-# magic button trick
-
-Perform a magic trick where you appear to make the **A** and **B** button of your @boardname@ swap over just by moving a sticky label.
-
-### ~avatar avatar
-
-Welcome! This activity will teach you how to use the @boardname@'s compass to detect a nearby magnet
-
-### ~
-This is a simple magic trick you can perform to amaze your friends, where by moving the sticky labels on your @boardname@'s **A** and **B** button you appear to make the buttons really switch over. To see the trick performed watch the video below.
-
-https://youtu.be/-9KvmPopov8
-
-## How the trick works
-
-Unfortunately, the only magic here is in the code. This trick uses a magnet, hidden in your hand, to tell the @boardname@ to swap over the buttons so that when the magnet is near the microbit the **A** button starts working like the **B** button and the **B** button starts working like the **A** button.
-
-## What you need
-
-The only things you need for this trick are your @boardname@ and any magnet that is small enough to fit in your hand, even a fridge magnet will work.
-
-![](/static/mb/projects/magic-button-trick/magnets.jpg "Magnets")
-
-
-## Step 1: getting the buttons to display **A** and **B**
-
-Before we code the trick itself, we need to get the buttons working as you would expect them to so that pressing button **A** displays 'A' and pressing button **B** displays 'B':
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- basic.showString("A")
-})
-input.onButtonPressed(Button.B, () => {
- basic.showString("B")
-})
-```
-
-## Step 2: measuring magnetic force
-
-We will use the @boardname@'s compass to detect the magnet. Compass's tell us what direction we are pointing by detecting the Earth's magnetic field but they can also detect any other magnet nearby. We will use that to check if our magnet is next to the @boardname@ by using the [magnetic force](/reference/input/magnetic-force) block found in the input menu's 'more' section. As we only want to measure the strength we change the drop down to select 'strength':
-
-```blocks
-input.magneticForce(Dimension.Strength)
-```
-
-## Step 3: checking if the magnetic is nearby
-
-Now we can measure the magnetic force near the microbit, we can check if the value we measure is so big that it means there must be a strong magnet nearby.
-
-If you have ever played with magnets you know they have two ends, often called a north and south 'pole'. Depending on which end of the magnet is pointing at the microbit the magnetic force measurement will either be a negative number like -100 or a positive number like 100. We just want to know if the strength is at least 100 we don't care if its negative or positive so we also use the 'absolute value of' block from the maths menu to tell our code to ignore the negative sign and just treat -100 as if its 100.
-
-So in the code below we will check if the absolute value of our magnetic field strength reading is more than 100 and save the result of that check in a new variable called 'isSwitched':
-
-```blocks
-let isSwitched = Math.abs(input.magneticForce(Dimension.Strength)) > 100
-```
-## Step 4: running our 'magnet nearby' check all the time
-
-At the moment our code to detect the magnet being nearby will only run once so we need to put it into a [forever](/reference/basic/forever) block so that it keeps getting run again and again checking for the magnet to come near to the @boardname@. We should also make sure 'isSwitched' is false when our program starts.
-
-```blocks
-let isSwitched = false;
-basic.forever(() => {
- let isSwitched = Math.abs(input.magneticForce(Dimension.Strength)) > 100
-})
-```
-
-## Step 5: swapping the buttons when we know the magnet is nearby
-
-Now we can check the value of our variable 'isSwitched' whenever we want and we will know that the magnet is nearby if it's value is 'true'. Let's use that to change how the buttons work and complete the code for our trick. We will add an 'if, else' block to each button's code and check if we should swap over what each button displays because 'isSwitched' is equal to true:
-
-```blocks
-
-let isSwitched = false;
-basic.forever(() => {
- isSwitched = Math.abs(input.magneticForce(Dimension.Strength)) > 100
-})
-
-input.onButtonPressed(Button.A, () => {
- if (isSwitched) {
- basic.showString("B")
- } else {
- basic.showString("A")
- }
-})
-input.onButtonPressed(Button.B, () => {
- if (isSwitched) {
- basic.showString("A")
- } else {
- basic.showString("B")
- }
-})
-
-```
-
-## step 5: practice your performance
-Now you just need to program your own @boardname@ and practice the trick a few times before performing to friends. Try asking your friends to click the buttons after you have switched the labels and the trick won't work for them as they don't have a hidden magnet in their hand.
-
-
-## about the authors
-This project was contributed by Brian and Jasmine Norman, aka [@MicroMonstersUK](https://twitter.com/MicroMonstersUK). You can chekout their [@boardname@ tutorials chanel on youtube](https://www.youtube.com/channel/UCK2DviDexh_Er2QYZerZyZQ) for more projects.
\ No newline at end of file
diff --git a/docs/projects/messenger.md b/docs/projects/messenger.md
deleted file mode 100644
index 495c758b..00000000
--- a/docs/projects/messenger.md
+++ /dev/null
@@ -1,65 +0,0 @@
-# messenger
-
-![](/static/mb/projects/a9-radio.png)
-
-Use the radio to create an app that sends "YO" messages.
-
-## Step 1
-
-Use [on button pressed](/reference/input/on-button-pressed) to send the number "0" over radio.
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- radio.sendNumber(0);
-});
-```
-
-## Step 2
-
-Use [radio on data packet received](/reference/radio/on-data-packet-received) display "YO" when the number ``0`` is received
-by radio.
-
-```blocks
-let message = 0;
-radio.onDataPacketReceived(({ receivedNumber }) => {
- message = receivedNumber;
- if (message == 0) {
- basic.showString("YO")
- }
-})
-```
-
-Download the program and **upload the same .hex file to 2 devices!**
-
-## Step 3
-
-Use [on button pressed](/reference/input/on-button-pressed) to send the number "1" over radio.
-
-```blocks
-input.onButtonPressed(Button.B, () => {
- radio.sendNumber(1);
-});
-```
-
-## Step 4
-
-Add blocks in [radio on data packet received](/reference/radio/on-data-packet-received) to display "BYE" when the number ``1`` is received
-by radio.
-
-```blocks
-let message = 0;
-radio.onDataPacketReceived(({ receivedNumber }) => {
- message = receivedNumber;
- if (message == 0) {
- basic.showString("YO")
- }
- if (message == 1) {
- basic.showString("BYE")
- }
-})
-```
-
-
-```package
-radio
-```
diff --git a/docs/projects/radio-challenges.md b/docs/projects/radio-challenges.md
deleted file mode 100644
index 9e6e3655..00000000
--- a/docs/projects/radio-challenges.md
+++ /dev/null
@@ -1,94 +0,0 @@
-# Challenge
-
-### ~avatar avatar
-
-Welcome! The activity will teach you how to use the acceleration of the 1st @boardname@ and to visualize the acceleration on the 2nd @boardname@.
-Let's get started!
-
-### ~
-Let's measure `acceleration (mg)` and then `send number`. `Acceleration` is measured in **milli-gravities**, so a value of -1000 is equivalent to -1g or -9.81m/s^2. We will be able to get the acceleration value (g-force), in the specified "x" dimension. `Send number` will broadcast a number data packet to other @boardname@s connected via radio.
-
-```blocks
-radio.sendNumber(input.acceleration(Dimension.X));
-```
-### ~
-We want to display the acceleration forever. In order to do so, we need a `forever` loop. A forever loop will repeat code in the background forever.
-
-```blocks
-basic.forever(() => {
- radio.sendNumber(input.acceleration(Dimension.X));
-});
-
-
-```
-### ~
-We want to register code to run when a packet is received over radio. We can implement this code by adding `on data received`.
-
-```blocks
-basic.forever(() => {
- radio.sendNumber(input.acceleration(Dimension.X))
-})
-radio.onDataPacketReceived(() => {
-
-})
-```
-### ~
-Finally, we want to chart the acceleration. So we must first implement `plot bar graph`. `Plot Bar Graph` will display a vertical bar graph based on the value and high value. In order to transfer the receive the number from the 1st @boardname@, we must implement `receive number` to constantly display a vertical bar graph based on the value. Remember, the value will equal to the @boardname@'s acceleration in the "x" direction.
-
-```blocks
-basic.forever(() => {
- radio.sendNumber(input.acceleration(Dimension.X))
-})
-radio.onDataPacketReceived(({ receivedNumber }) => {
- led.plotBarGraph(receivedNumber, 1023)
-})
-
-```
-### ~
-Notice that moving the @boardname@ the farthest direction in the x direction will be -1023 on the charting beneath the simulator. The second observation will be that the LEDs will be full brightness on the 2nd @boardname@. There is a single LED turned on with the 1st @boardname@. Additionally, the graphs will reflect 0 acceleation for the 1st @boardname@. In this scenario, if you are adjusting the acceleration in the simualator, you are also changing your chart that will be produced.
-
-![](/static/mb/acc.png)
-
-### ~
-NOTE: The colors of the charts reflect the color of the @boardname@ simulator. In this instance, the @boardname@s are blue and green. So the colors of the line graphs reflect the colors of the @boardname@
-
- ### ~
-After running this simulation several seconds by moving the @boardname@ side to side in the x direction, you are ready to graph or chart the accceleration of the @boardname@. We want a printout of our acceleration on Excel. We will graph the fluctuating acceleration of the simulation experiment.
-
-![](/static/mb/acc2.png)
-
-### ~
-
-Finally, you must open the Excel CSV file by clicking on the `data.csv` file
-that was downloaded to Downloads Folder.
-
-![](/static/mb/data3.png)
-
-Use the Recommended Charts command on the Insert tab to quickly create a chart that’s just right for your data.
-
-* Select the data that you want to include in your chart.
-
-* Click Insert > Recommended Charts.
-
-![](/static/mb/lessons/chart1.png)
-
-* On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data. Pick the **scatter plot**.
-
-![](/static/mb/chart_title.png)
-
-* Use the Chart Elements, Chart Styles, and Chart Filters buttons next to the upper-right corner of the chart to add chart elements like axis titles or data labels, to customize the look of your chart
-
-![](/static/mb/elements_styles_filters.png)
-
-### ~
-Have fun reviewing your simulation and analyze the acceleration by chart the Excel data using Excel.
-
-* Connect the first @boardname@ to your computer using your USB cable and run the charting script on it.
-* Connect the second @boardname@ to your computer using your USB cable and run the charting script on it.
-* The first person and second person take turns tilting the @boardname@ in the "x" direction while the other player charts the data on the @boardname@!
-* Review and analyze the actual @boardname@ device acceleration data on Excel
-* Display acceleration with y or z using plot bar graph by changing acceleration from "x" to "y" or "z"
-
-```package
-radio
-```
diff --git a/docs/projects/radio.md b/docs/projects/radio.md
deleted file mode 100644
index 016434c4..00000000
--- a/docs/projects/radio.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# radio
-
-Measure the acceleration on the @boardname@ in the "x" direction.
-
-### ~avatar avatar
-
-Welcome! This activity will teach how to use the @boardname@ to chart the acceleration in the "x" direction. Let's get started!
-
-
-### ~
-Let's measure `acceleration (mg)` in the "x" direction. Get the acceleration value (milli g-force), in one of three specified dimensions.
-
-
-```blocks
-input.acceleration(Dimension.X)
-```
-
-### ~
-Use the plot bar chart to visualize the acceleration on the LED screen of the @boardname@ in the specified range. You implement plot Bar Graph to display a vertical bar graph based on the "value" and "high" value. Then you must insert acceleration in the X dimension to measure the acceleration.
-
-```blocks
-basic.forever(() => {
- led.plotBarGraph(input.acceleration(Dimension.X), 0)
-})
-
-```
-
-### ~
-Notice that moving the @boardname@ in the simulator from left to right (x direction) changes the values beneath the @boardname@ in a range from 1023 to -1023 as measured in milli-gravities. By hovering over the @boardname@ from left to right, you can observe changing values beneath the @boardname@ simulator. Also, the LEDs shown on the Bar Graph fluctates based on the movement of the @boardname@ simulator in the x direction. The line underneath the @boardname@ simulator reflect the acceleration in the x direction.
-
-NOTE: The colors of the charts reflect the color of the @boardname@ simulator. In this instance, the @boardname@ is yellow. So the color of the data line reflects the color of the @boardname@
-
-![](/static/mb/data4.png)
-
-### ~
-
-Vigorously move the @boardname@ in the @boardname@ simulatator by moving the @boardname@ image from side to side. Every time the @boardname@ moves in the x direction in the simulator, you are generating data points that can be reviewed in Excel. The more attempts to move the @boardname@ from side to side, the more data being saved in Excel. After you have vigarously moved the @boardname@ simulator from side to side for a sufficient amount of time, you are ready to graph or chart the accceleration of the @boardname@. We want a printout of our acceleration on Excel that can be graphed in Excel.
-
-### ~
-
-We want to chart the data collected by using a tool in Excel.
-
-The final part of this experiment is opening and reviewing the data in the Excel CSV file. Simply click on the line beneath the simulator. A CSV file will be generated to display the data points collected by moving the @boardname@ in the X direction. Then click or tap on the data Excel file that was downloaded to your local ``Downloads`` Folder.
-
-
-### ~
-
-
-First, click or tap on the first two columns (A, B) to include the time of the data being collected; b) the results of acceleration data on the @boardname@
-
-![](/static/mb/data7.png)
-
-Use the Recommended Charts command on the Insert tab to quickly create a chart that’s just right for your data.
-
-* Select the data that you want to include in your chart.
-
-* Click Insert > Recommended Charts.
-
-![](/static/mb/lessons/chart1.png)
-
-* On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data. Pick the **scatter plot**.
-
-### ~avatar avatar
-
-Excellent, you're ready to continue with the [challenges](/projects/radio-challenges)
-
-### ~
-
diff --git a/docs/projects/rock-paper-scissors.md b/docs/projects/rock-paper-scissors.md
deleted file mode 100644
index 0e8dbcd7..00000000
--- a/docs/projects/rock-paper-scissors.md
+++ /dev/null
@@ -1,238 +0,0 @@
-# rock paper scissors
-
-![](/static/mb/projects/a4-motion.png)
-
-### ~avatar avatar
-
-```sim
-input.onGesture(Gesture.Shake, () => {
- let img = Math.random(3)
- if (img == 0) {
- basic.showLeds(`
- # # # # #
- # . . . #
- # . . . #
- # . . . #
- # # # # #
- `)
-
- } else if (img == 1) {
- basic.showLeds(`
- . . . . .
- . # # # .
- . # # # .
- . # # # .
- . . . . .
- `)
- } else {
- basic.showLeds(`
- # # . . #
- # # . # .
- . . # . .
- # # . # .
- # # . . #
- `)
- }
-})
-```
-In this project, you will build a Rock Paper Scissors game with the @boardname@.
-You can play the game with a friend who has it on a @boardname@.
-You can also play it with friends who are just using their hands.
-
-### ~
-
-
-## Materials needed
-
-* Your @boardname@ -- that's it!
-
-## Step 1: Getting started
-
-We want the @boardname@ to choose rock, paper, or scissors when you shake it.
-Try creating an ``on shake`` block so when you shake the @boardname@, it will run part of a program.
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
-
-})
-```
-
-Next, when you shake the @boardname@, it should pick a random number from `0` to `2`
-and store it in the variable `weapon`. (This variable is named `weapon` because
-rock, paper, and scissors are the weapons you use to battle your friends!)
-
-Add a ``set`` block with a variable. Then add a ``pick random`` block,
-and store the random number in the variable,
-like this:
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let weapon = Math.random(3)
-})
-
-```
-
-### ~hint
-No one can predict random numbers. That's what makes them great for Rock Paper Scissors!
-### ~
-
-Each possible number these blocks can make (`0`, `1`, or `2`) means a different picture.
-We will show the right picture for that number on the LED screen.
-
-
-## Step 2: Picking paper
-
-Put an ``if`` block after the ``let`` block that checks whether
-`weapon` is `0`. Make sure the ``if`` block has an ``else if`` part
-and an ``else`` part.
-
-Next, add a ``show leds`` block that shows a
-picture of a piece of paper:
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let weapon = Math.random(3)
- if (weapon == 0) {
- basic.showLeds(`
- # # # # #
- # . . . #
- # . . . #
- # . . . #
- # # # # #
- `)
- } else if (false) {
-
- } else {
-
- }
-})
-```
-
-## Step 3: A random rock
-
-Now we are going to add a new picture for the @boardname@ to show
-when another random number comes up.
-
-Make the ``else if`` part check if the variable `weapon` is `1`.
-Then add a ``show leds`` block with a picture of a rock.
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let weapon = Math.random(3)
- if (weapon == 0) {
- basic.showLeds(`
- # # # # #
- # . . . #
- # . . . #
- # . . . #
- # # # # #
- `)
-
- } else if (weapon == 1) {
- basic.showLeds(`
- . . . . .
- . # # # .
- . # # # .
- . # # # .
- . . . . .
- `)
- } else {
-
- }
-})
-```
-
-## Step 4: Suddenly scissors
-
-Add a ``show leds`` block with a picture of scissors to the ``else`` part:
-
-```blocks
-input.onGesture(Gesture.Shake, () => {
- let weapon = Math.random(3)
- if (weapon == 0) {
- basic.showLeds(`
- # # # # #
- # . . . #
- # . . . #
- # . . . #
- # # # # #
- `)
-
- } else if (weapon == 1) {
- basic.showLeds(`
- . . . . .
- . # # # .
- . # # # .
- . # # # .
- . . . . .
- `)
- } else {
- basic.showLeds(`
- # # . . #
- # # . # .
- . . # . .
- # # . # .
- # # . . #
- `)
- }
-})
-
-```
-
-### ~hint
-
-You don't need to check if `weapon` is `2` because `2` is the only number left out of `0`, `1`, and `2`.
-That's why you can use an ``else`` instead of an ``else if``.
-
-### ~
-
-Your game is ready! Have fun!
-
-## Step 5: Are you the greatest?
-
-Here is a way you can make your Rock Paper Scissors game better.
-When button ``A`` is pressed,
-the @boardname@ will add `1` to your score.
-
-Open the ``Game`` drawer, and then add the block ``change score by 1`` to your program,
-like this:
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- game.addScore(1)
-})
-
-```
-
-## Step 6: Prove you're the greatest!
-
-After your @boardname@ can add `1` to the score, show how many wins you have.
-
-```blocks
-input.onButtonPressed(Button.A, () => {
- game.addScore(1)
- basic.showString("WINS:")
- basic.showNumber(game.score())
-})
-```
-## Step 7: Staying honest
-
-Success! Your @boardname@ can track wins!
-But what about losses?
-Use the ``Game`` drawer to subtract `1` from your score when you press button `B`.
-
-Here are all the blocks you will need:
-
-```shuffle
-input.onButtonPressed(Button.B, () => {
- game.addScore(-1)
- basic.showString("LOSSES:")
- basic.showNumber(game.score())
-})
-```
-
-## Step 8: Hacking Rock Paper Scissors
-
-How else can you make your game better?
-Ever hear of [Rock Paper Scissors Spock Lizard](http://www.samkass.com/theories/RPSSL.html)?
-
diff --git a/docs/projects/smiley-buttons.md b/docs/projects/smiley-buttons.md
deleted file mode 100644
index afda51f2..00000000
--- a/docs/projects/smiley-buttons.md
+++ /dev/null
@@ -1,75 +0,0 @@
-# smiley buttons
-
-![](/static/mb/projects/a2-buttons.png)
-
-Use buttons to show a smiley or frowny face.
-
-## Step 1
-
-Use [show leds](/reference/basic/show-leds) to make a smiley face:
-
-```blocks
-basic.showLeds(`
- . # . # .
- . # . # .
- . . . . .
- # . . . #
- . # # # .`
- );
-```
-
-## Step 2
-
-Add an input block for when [button A is pressed](/reference/input/button-is-pressed), and put a
-frowny face inside it:
-
-```blocks
-basic.showLeds(`
- . # . # .
- . # . # .
- . . . . .
- # . . . #
- . # # # .`
- );
-input.onButtonPressed(Button.A, () => {
- basic.showLeds(`
- . # . # .
- . # . # .
- . . . . .
- . # # # .
- # . . . #`
- );
-});
-```
-
-## Step 3
-
-Now add blocks so that when [button B is pressed](/reference/input/button-is-pressed), a smiley appears:
-
-```blocks
-basic.showLeds(`
- . # . # .
- . # . # .
- . . . . .
- # . . . #
- . # # # .`
- );
-input.onButtonPressed(Button.A, () => {
- basic.showLeds(`
- . # . # .
- . # . # .
- . . . . .
- . # # # .
- # . . . #`
- );
-});
-input.onButtonPressed(Button.B, () => {
- basic.showLeds(`
- . # . # .
- . # . # .
- . . . . .
- # . . . #
- . # # # .`
- );
-});
-```
diff --git a/docs/projects/telegraph.md b/docs/projects/telegraph.md
deleted file mode 100644
index 1656780f..00000000
--- a/docs/projects/telegraph.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# telegraph activity
-
-![](/static/mb/lessons/telegraph-0.png)
-
-### ~avatar
-
-Build a telegraph between two @boardname@s to communicate with your friends!
-
-### ~
-
-## Duration: ~30 minutes
-
-## Materials
-
-* @boardname@, battery holder and 2 AAA batteries
-* Crocodile clips
-
-## Activities
-
-* [Making the circuit](/projects/telegraph/make)
-* [Manual telegraph](/projects/telegraph/manual-telegraph)
-
-### ~button /projects/telegraph/make
-Let's get started!
-### ~
diff --git a/docs/projects/telegraph/make.md b/docs/projects/telegraph/make.md
deleted file mode 100644
index 7251ed0d..00000000
--- a/docs/projects/telegraph/make.md
+++ /dev/null
@@ -1,75 +0,0 @@
-# telegraph - making
-
-### ~avatar
-
-Let's build a telegraph between two @boardname@s.
-
-### ~
-
-![](/static/mb/lessons/telegraph-0.png)
-
-## Materials
-
-* @boardname@, battery holder and 2 AAA batteries
-* Crocodile clips
-
-## Steps
-
-### Step 1
-
-![](/static/mb/lessons/banana-keyboard-1.png)
-
-Using the 1st crocodile clip, connect the end of the crocodile clip onto GND pin on the @boardname@.
-
-### Step 2
-
-![](/static/mb/lessons/ornament-chain-2.png)
-
-Using the 2nd crocodile clip, connect the end of the crocodile clip onto the 3V pin on the @boardname@.
-
-### Step 3
-
-![](/static/mb/lessons/ornament-chain-3.png)
-
-Using the 3rd crocodile clip, connect the end of the crocodile clip onto pin 1 of the @boardname@.
-
-### Step 4
-
-![](/static/mb/lessons/ornament-chain-4.png)
-
-Using the 4th crocodile clip, connect the end of the crocodile clip onto pin 2 of the @boardname@.
-
-### Step 5
-
-![](/static/mb/lessons/ornament-chain-5.png)
-
-Using the 1st crocodile clip, connect the unattached end of the crocodile clip onto the GND on the 2nd @boardname@.
-
-### Step 6
-
-![](/static/mb/lessons/ornament-chain-6.png)
-
-Using the 2nd crocodile clip, connect the unattached end of the crocodile clip onto the 3V pin on the 2nd @boardname@.
-
-### Step 7
-
-![](/static/mb/lessons/ornament-chain-7.png)
-
-Using the 3rd crocodile clip, connect the unattached end of the crocodile clip onto pin 2 of the 2nd @boardname@.
-
-### Step 8
-
-![](/static/mb/lessons/ornament-chain-8.png)
-
-Using the 4th crocodile clip, connect the unattached end of the crocodile clip onto pin 1 of the 2nd @boardname@
-
-### Step 9
-
-![](/static/mb/lessons/telegraph-0.png)
-
-
-### ~button /projects/telegraph/manual-telegraph
-
-NEXT: manual telegraph
-
-### ~
diff --git a/docs/projects/telegraph/manual-telegraph.md b/docs/projects/telegraph/manual-telegraph.md
deleted file mode 100644
index 658d5e0b..00000000
--- a/docs/projects/telegraph/manual-telegraph.md
+++ /dev/null
@@ -1,95 +0,0 @@
-# telegraph - manual telegraph
-
-Let's build the code that will send a impulse while the user presses ``A``.
-
-### Step 1
-
-We now need to digitally write to pin ``P0`` as **high** (1).
-
-```blocks
-pins.digitalWritePin(DigitalPin.P0, 1)
-```
-
-### Step 2
-
-We want to add a block to turn on an LED in the middle area of the LED display using plot x, y.
-So insert the appropriate LED plot x, y.
-
-```blocks
-pins.digitalWritePin(DigitalPin.P0, 1)
-led.plot(2, 2)
-```
-
-### Step 3
-
-We want to insert a condition that tells us when to turn on the LED. So insert the if block under logic drawer.
-Then add a condition that occurs if we do not turn on a LED with plot x, y. We also should plot an LED on the display if button A is pressed. Your code should appear as follows:
-
-```blocks
-if (input.buttonIsPressed(Button.A)) {
- pins.digitalWritePin(DigitalPin.P0, 1)
- led.plot(2, 2)
-} else { }
-```
-
-
-### Step 4
-
-We want to write code if button A is NOT pressed. It is important to say that digital write is not on. We also want to turn off all the LED light.
-
-```blocks
-if (input.buttonIsPressed(Button.A)) {
- pins.digitalWritePin(DigitalPin.P0, 1)
- led.plot(2, 2)
-} else {
- pins.digitalWritePin(DigitalPin.P0, 0)
- led.unplot(2, 2)
-}
-```
-
-### Step 5
-
-Let's add a forever loop so this code runs in the background forever. Modify your code so that your code looks like this. Run the code and press Button A.
-
-```blocks
-basic.forever(() => {
- if (input.buttonIsPressed(Button.A)) {
- pins.digitalWritePin(DigitalPin.P0, 1)
- led.plot(2, 2)
- } else {
- pins.digitalWritePin(DigitalPin.P0, 0)
- led.unplot(2, 2)
- }
-})
-```
-
-### Step 6
-
-We now need to digitally read to the specified pin (P1) as digital. Let's start by going to the pin drawer and adding digital read pin (0,1) and changing the pin to P1. Now we need to create a condition for digital read pin (0,1). So we go to the logic drawer and select the comparison operator. Then we want to set the comparison operator to 1 to turn on digital read on pin 1. We want to insert a condition that tells us if button A is pressed and we should turn on digital read on pin 1. So insert the if block under logic drawer. Then add a condition that occurs if digital read on P1 is on. Then we want to plot x, y at the x, y coordinates of 2,2. we also want to say that if digital read pin P1 is not on, we want to turn off all LED lights on the screen. Your code should appear as follows:
-
-```blocks
-if (pins.digitalReadPin(DigitalPin.P1) == 1) {
- led.plot(4, 4);
-}
-else {
- led.unplot(4, 4);
-}
-basic.forever(() => {
- if (input.buttonIsPressed(Button.A)) {
- pins.digitalWritePin(DigitalPin.P0, 1);
- led.plot(2, 2);
- }
- else {
- pins.digitalWritePin(DigitalPin.P0, 0);
- basic.clearScreen();
- }
-});
-```
-
-Your telegraph is ready!
-
-### Step 7
-
-* Connect the first @boardname@ to your computer using your USB cable and put the telegraph script on it.
-* Connect the second @boardname@ to your computer using your USB cable and run the telegraph script on it.
-* The first person and second person take turns pressing button A to play the telegraph game!
diff --git a/docs/projects/the-watch.md b/docs/projects/the-watch.md
deleted file mode 100644
index 2cee515e..00000000
--- a/docs/projects/the-watch.md
+++ /dev/null
@@ -1,154 +0,0 @@
-![](/static/mb/projects/a10-watch.png)
-
-# the watch
-
-![](/static/mb/lessons/the-watch-0.png)
-
-In this project, you will build your own wearable @boardname@ watch from an old pair of jeans and T-shirt. Project duration: 15 minutes.
-
-![](/static/mb/lessons/the-watch-1.png)
-
-## Materials
-
-* @boardname@, battery holder and 2 AAA batteries
-* Old T-shirt
-* Old Jeans
-* Velcro with sticky back – 5cm x 5cm
-* Double-sided tape – 22cm x 5cm. You can find carpet tape in your local hardware shop
-* Ruler and pen
-* Scissors
-
-![](/static/mb/lessons/the-watch-2.png)
-
-## Steps
-
-### Step 1
-
-![](/static/mb/lessons/the-watch-3.png)
-
-Using the ruler and pen, mark a rectangle of more or less 26cm x 5cm on the T-shirt. Don’t worry if you don’t get it quite right, we’ll tidy things up later on.
-
-### Step 2
-
-![](/static/mb/lessons/the-watch-4.png)
-
-Cut the rectangle using the scissors. Don’t worry about the quality of the cut, we’ll trim it later on.
-
-### Step 3
-
-![](/static/mb/lessons/the-watch-5.png)
-
-Cut a piece of cloth from the pair of jeans. Cut straight by the seam.
-
-![](/static/mb/lessons/the-watch-6.png)
-
-### Step 4
-
-![](/static/mb/lessons/the-watch-7.png)
-
-Using the ruler and pen, mark a rectangle of 22cm x 5cm (adults should use 24cm x 5cm) on the jeans cloth.
-
-### Step 5
-
-![](/static/mb/lessons/the-watch-8.png)
-
-Stretch the cloth using your hands and apply the double-side tape on the rectangle marked on the jeans. You might need the help of a friend to achieve this step. Don’t worry if the tape is larger than the rectangle, we will trim it later. Make sure to apply pressure to the tape to secure it firmly.
-
-### Step 6
-
-![](/static/mb/lessons/the-watch-9.png)
-
-Using the scissors, cut the rectangle of jeans.
-
-### Step 7
-
-![](/static/mb/lessons/the-watch-10.png)
-
-Peal the tape protective layer from the rectangle.
-
-### Step 8
-
-![](/static/mb/lessons/the-watch-11.png)
-
-Place the @boardname@ pins on the tape at more or less **7** cm from the left border. Then lower the @boardname@ on the tape and press **gently**.
-
-### Step 9
-
-![](/static/mb/lessons/the-watch-12.png)
-
-Connect the battery holder and place it on the right of the @boardname@. Tuck the cables away on the tape to protect them.
-
-### Step 10
-
-![](/static/mb/lessons/the-watch-13.png)
-
-Stick the T-shirt rectangle from the top of the @boardname@, over the battery cables.
-
-### Step 11
-
-![](/static/mb/lessons/the-watch-14.png)
-
-Use your fingers to push the T-shirt cloth under the @boardname@ to give access to the micro-USB plug.
-
-### Step 12
-
-![](/static/mb/lessons/the-watch-15.png)
-
-Place the T-shirt over the battery holder and stick it up to the end.
-
-### Step 13
-
-![](/static/mb/lessons/the-watch-16.png)
-
-Turn over the watch and cut the extra T-shirt material.
-
-### Step 14
-
-![](/static/mb/lessons/the-watch-17.png)
-
-Stick the T-shirt cloth on the other side of the watch. Lift the @boardname@ pins to slide the cloth under and leave them free from the tape.
-
-### Step 15
-
-![](/static/mb/lessons/the-watch-18.png)
-
-Turn over the watch and cut left over T-shirt cloth.
-
-### Step 16
-
-![](/static/mb/lessons/the-watch-19.png)
-
-Cut a 5cm x 5cm square of Velcro **loops**.
-
-### Step 17
-
-![](/static/mb/lessons/the-watch-20.png)
-
-Cut a 5cm x 5cm square of Velcro **hooks**.
-
-### Step 18
-
-![](/static/mb/lessons/the-watch-21.png)
-
-Stick the Velcro hooks on the right side of the battery holder on the T-shirt cloth.
-
-### Step 19
-
-![](/static/mb/lessons/the-watch-22.png)
-
-Stick the Velcro loops on the other end on the jeans fabric.
-
-### Step 20
-
-Trim any leftover fabric, threads or tape.
-
-### Step 21
-
-![](/static/mb/lessons/the-watch-23.png)
-
-Your watch is ready!
-
-### Acknowledgements
-
-Artistic design by Melinda Hoeneisen.
-
diff --git a/docs/projects/timing-gates.md b/docs/projects/timing-gates.md
deleted file mode 100644
index 8042435b..00000000
--- a/docs/projects/timing-gates.md
+++ /dev/null
@@ -1,231 +0,0 @@
-# Timing gates
-
-### ~avatar
-
-This project explains the principles of timing gates using household materials.
-
-### ~
-
-## Timing gates
-
-The two gates are connected to the @boardname@ and can detect a car passing through.
-
-![](/static/mb/projects/timing-gates/sketchgates.jpg "Sketch of the gates")
-
-As the car passes through the gate ``0``, it sends an event to the @boardname@ through the [on pin pressed](/reference/input/on-pin-pressed) block.
-The @boardname@ records the time in a variable ``t0``.
-
-![](/static/mb/projects/timing-gates/sketchgate1.jpg "Sketch first gate")
-
-As the car passes through the gate ``1``, it sends an event to the @boardname@ through the [on pin pressed](/reference/input/on-pin-pressed) block.
-The @boardname@ records the time in a variable ``t1``.
-
-![](/static/mb/projects/timing-gates/sketchgate2.jpg "Sketch first gate")
-
-The rest is a bit of math and physics. The time taken to cross the gates is computed as the difference of ``t1 - t0``.
-By dividing the distance between the gates by the duration, we get the speed of the car!
-
-![](/static/mb/projects/timing-gates/sketchmath.jpg "Sketch math")
-
-
-## Materials
-
-* Carboard
-* Aluminum fail
-* Double-side tape (carpet tape)
-* 4 crocodile clips
-* A @boardname@ board and USB cable
-
-![](/static/mb/projects/timing-gates/materials.jpg "Materials")
-
-## blocks
-
-```cards
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-input.onPinPressed(TouchPin.P0, () => {})
-let t = 0
-input.runningTime()
-t - 1
-control.eventTimestamp();
-basic.showNumber(0)
-```
-
-## Building the gate
-
-The sensor is made by tapping two strips of fail on the cardboard as close as possible.
-
-Add two strips of double-sided tape on the cardboard. Remove the protective film.
-
-![](/static/mb/projects/timing-gates/tape.jpg "Double sided tape")
-
-Lay the Aluminum foil on the double-sided tape. Press firmly on the tape to get a good bonding of the foil.
-
-![](/static/mb/projects/timing-gates/stickfoil.jpg "Foil sensor")
-
-Strip the out foil around and between the tape strips. Make sure both foil strips don't touch each other.
-
-![](/static/mb/projects/timing-gates/spreadfoil.jpg "Foil taped")
-
-Connect a crocodile strip to each foil strip.
-
-![](/static/mb/projects/timing-gates/connectsensor.jpg "Connecting sensor")
-
-Connect the crocodile plugs to the ``GND`` and ``P0`` pins on the @boardname@.
-
-![](/static/mb/projects/timing-gates/connectcrocs.jpg "Connecting the @boardname@")
-
-The gate is ready to use! Your circuit should look like the picture below:
-
-![](/static/mb/projects/timing-gates/sensordone.jpg "A single gate")
-
-
-## Detecting the car with code
-
-The @boardname@ provides an event [on pin pressed](/reference/input/on-pin-pressed)
-that is raised when a circuit between ``GND`` and a pin is detected. The circuit conductor could be a wire or even your body!
-We will attach a foil to the bottom of the car. When it passes over the gate, it connect both foil strips, close the circuit and trigger the event.
-
-Open the [code editor](/) and start a new project and add the following blocks. Notice that we are using pin ``P0`` here.
-
-```blocks
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-input.onPinPressed(TouchPin.P0, () => {
- basic.showLeds(`
- # . . . .
- # . . . .
- # . . . .
- # . . . .
- # . . . .
- `)
-})
-```
-
-Testing the code with our finger, we see a LED column turn on when pressing both strips.
-
-https://youtu.be/zi_-NAmdDpY
-
-## Upgrading the car
-
-In this lesson, we picked a random toy car and tapped foil to the bottom.
-As the car goes through the gate, it will connect both sides of the gate and trigger it. Make sure to add enough foil to get a good connection on the ground.
-
-![](/static/mb/projects/timing-gates/carfoil.jpg "Attaching foil to the car")
-
-By moving the car (slowly) through the gate, you will see that it triggers the ``on pin pressed`` event.
-
-https://youtu.be/M3DIUvDPlIA
-
-### ~hint
-
-It does not work always! Sometimes the foil does not touch long enough both strip to be detected. This is due to the poor quality of our sensor.
-To fix this, you would have to consider using better sensors based on IR or Hall effect.
-
-### ~
-
-## Adding the second gate
-
-Repeat the same process with tape and foil to build the first gate.
-
-![](/static/mb/projects/timing-gates/sensor2.jpg "Double foil sensors")
-
-Connect the crocodile plugs to the ``GND`` and ``P1`` pins on the @boardname@.
-
-![](/static/mb/projects/timing-gates/sensormicrobit2.jpg "Sensor and microbit")
-
-## Detecting the second gate
-
-Since the second gate is connected to pin ``P1``, we add a second [on pin pressed](/reference/input/on-pin-pressed) event
-that display 2 columns of LEDs.
-
-```blocks
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-input.onPinPressed(TouchPin.P0, () => {
- basic.showLeds(`
- # . . . .
- # . . . .
- # . . . .
- # . . . .
- # . . . .
- `)
-})
-input.onPinPressed(TouchPin.P1, () => {
- basic.showLeds(`
- # . . . #
- # . . . #
- # . . . #
- # . . . #
- # . . . #
- `)
-})
-```
-Strolling the car over both gates, you can see how the first gate triggers then the second.
-
-https://youtu.be/N4bWQcu6yWs
-
-## Computing time
-
-The @boardname@ has a clock that measures time precisely. It measures how many seconds the @boardname@ has been on.
-We will record the time where each gate is tripped in variables ``t0`` and ``t1``.
-We take the different between ``t1`` and ``t0`` to compute the duration between the gates.
-
-```blocks
-let t0 = 0;
-let t1 = 0;
-basic.showLeds(`
- . . . . .
- . . . . .
- . . # . .
- . . . . .
- . . . . .
- `)
-input.onPinPressed(TouchPin.P0, () => {
- t0 = control.eventTimestamp();
- basic.showLeds(`
- # . . . .
- # . . . .
- # . . . .
- # . . . .
- # . . . .
- `)
-})
-input.onPinPressed(TouchPin.P1, () => {
- t1 = control.eventTimestamp();
- basic.showLeds(`
- # . . . #
- # . . . #
- # . . . #
- # . . . #
- # . . . #
- `)
- let d = t1 - t0
- basic.showNumber(d)
-})
-```
-
-https://youtu.be/piyym_ux1EM
-
-## Computing velocity
-
-Measure the distance between the gates and apply Newton's laws to compute the velocity of the car.
-
- v = d / t
-
-We'll let you try to code this one on your own!
\ No newline at end of file
diff --git a/docs/projects/wallet.md b/docs/projects/wallet.md
deleted file mode 100644
index 55a44043..00000000
--- a/docs/projects/wallet.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# Wallet
-
-![wallet icon](/static/mb/projects/wallet.png)
-
-### @description A beginner maker activity, building a duct tape wallet with the @boardname@
-
-### ~avatar avatar
-
-Make a @boardname@ wallet with this guided tutorial!
-
-### ~
-
-![wallet image](/static/mb/projects/wallet/wallet.jpg)
-
-## Duration
-
-2 Activities, approx 30-45 min each based on familiarity with the coding concepts
-
-## Materials
-
-* Paper sheet
-* Tape (masking, duct tape, and/or packing tape)
-* Scissors
-* 1 @boardname@, battery holder and 2 AAA batteries
-* Marker or pen
-
-## Activities
-
-* [Make](/projects/wallet/make)
-* [Code](/projects/wallet/code)
-
-### ~button /projects/wallet/make
-
-Let's get started!
-
-### ~
-
-## References
-
-The wallet built in this activity is inspired from the duct tape wallet in
-[A Kid's Guide to Awesome Duct Tape Projects: How to Make Your Own Wallets, Bags, Flowers, Hats, and Much, Much More!](https://www.amazon.com/gp/product/1629148016)
\ No newline at end of file
diff --git a/docs/projects/wallet/code.md b/docs/projects/wallet/code.md
deleted file mode 100644
index 0217688a..00000000
--- a/docs/projects/wallet/code.md
+++ /dev/null
@@ -1,59 +0,0 @@
-# Wallet - Code
-
-## Simple animation
-
-Let's start by using a combination of [forever](/reference/basic/forever) and [show leds](/reference/basic/show-leds) to create animation:
-
-```blocks
-basic.forever(() => {
- basic.showLeds(`
- # # . # #
- # # . # #
- . # # # .
- . # . # .
- . # . # .
- `)
- basic.showLeds(`
- . . # . .
- . . # . .
- # . . . #
- # . # . #
- # . # . #
- `)
-})
-```
-
-Download this code to your @boardname@ and try it out.
-
-## Turn off animation in the pocket
-
-If the wallet is in your pocket, you should turn off the LEDs to save energy.
-
-How do we know that the wallet is in the pocket? It is really dark in there... We can use the [light level](/reference/input/light-level) to detect this!
-
-Using an [if statement](/blocks/logic/if), we can test if the level of light is sufficient to turn on the screen. Otherwise, we turn off the screen for a few second to save energy.
-
-```blocks
-basic.forever(() => {
- if (input.lightLevel() > 16) {
- basic.showLeds(`
- # # . # #
- # # . # #
- . # # # .
- . # . # .
- . # . # .
- `)
- basic.showLeds(`
- . . # . .
- . . # . .
- # . . . #
- # . # . #
- # . # . #
- `)
- } else {
- // clear screen and wait
- basic.clearScreen()
- basic.pause(3000)
- }
-})
-```
\ No newline at end of file
diff --git a/docs/projects/wallet/make.md b/docs/projects/wallet/make.md
deleted file mode 100644
index 3dbf957d..00000000
--- a/docs/projects/wallet/make.md
+++ /dev/null
@@ -1,184 +0,0 @@
-# Wallet - Make
-
-### @description Maker Project for Wallet
-
-### ~avatar avatar
-
-Make the duct tape wallet for your @boardname@
-
-### ~
-
-## Duration: ~30 minutes
-
-## Materials
-* Paper sheet
-* Tape (masking, duct tape, and/or packing tape)
-* Scissors
-* 1 @boardname@, battery holder and 2 AAA batteries
-* Marker or pen
-
-![Materials: paper, tape, scissors](/static/mb/projects/wallet/materials.jpg)
-
-
-## Duct tape sheet
-
-Let's start by building a duct tape sheet.
-
-Position the paper sheet on the workbench and place lines of tape over it. Make sure to overlap each layer to avoid seeing gaps of papers. In case of mistake, add tape!
-
-![](/static/mb/projects/wallet/sheet1.jpg)
-
-Cover the entire paper sheet with tape. Don't hesitate to use various colors or patterns!
-
-![](/static/mb/projects/wallet/sheet2.jpg)
-
-Unstick the sheet from the workbench carefully to avoid ripping out the tape and turn it over.
-
-![](/static/mb/projects/wallet/sheet3.jpg)
-
-Fold the remaining tape sections on the sides towards the center.
-
-![](/static/mb/projects/wallet/sheet5.jpg)
-
-Great job, your duct tape sheet is ready! Let's get onto the next step.
-
-![](/static/mb/projects/wallet/sheet6.jpg)
-
-## Card Hole
-
-We need to cut a hole in the center of the sheet to allow storage of coins and cards inside the wallet.
-
-
-Gently fold the sheet in half.
-
-![](/static/mb/projects/wallet/hole1.jpg)
-
-Gently foldy the other way.
-
-![](/static/mb/projects/wallet/hole2.jpg)
-
-Place the duct tape roll on the inside corner. This will determine the size of the hole.
-
-![](/static/mb/projects/wallet/hole3.jpg)
-
-Use your marker and trace around the roll.
-
-![](/static/mb/projects/wallet/hole4.jpg)
-
-Use your scissors and cut along the line you've just traced while keeping the sheet folded.
-
-![](/static/mb/projects/wallet/hole5.jpg)
-
-Well done! The hole is done and perfectly centered!
-
-![](/static/mb/projects/wallet/hole6.jpg)
-
-## Mounting the @boardname@
-
-We are going to cut a hole for the @boardname@ screen and buttons on the front of the wallet.
-
-Place the @boardname@ on the back of the sheet.
-
-![](/static/mb/projects/wallet/mbhole1.jpg)
-
-Mark the contour of the @boardname@ on the sheet with your marker. Don't worry about little mistakes.
-
-![](/static/mb/projects/wallet/mbhole2.jpg)
-
-Mark ticks at the location of each corners of the screen as shown on the picture.
-
-![](/static/mb/projects/wallet/mbhole3.jpg)
-
-Use the @boardname@ as a ruler to trace a line between the ticks.
-
-![](/static/mb/projects/wallet/mbhole5.jpg)
-
-Fill the inside square with your marker, you will need to cut it out later.
-
-![](/static/mb/projects/wallet/mbhole6.jpg)
-
-Mark the ticks along the button using the same procedure.
-
-![](/static/mb/projects/wallet/mbhole7.jpg)
-
-Fill the button square as well so that you clearly know what to cut or not.
-
-![](/static/mb/projects/wallet/mbhole8.jpg)
-
-Fold the sheet over the center of the darken area and cut out a triangle large enough to squeeze a blade of the scissors.
-
-![](/static/mb/projects/wallet/mbhole9.jpg)
-
-Starting from the small hole, work your way through cutting out the darkened area.
-
-![](/static/mb/projects/wallet/mbhole10.jpg)
-
-Eventually, the opening should look like a rectangle with a square in the middle.
-
-![](/static/mb/projects/wallet/mbhole11.jpg)
-
-Try mounting the @boardname@ and cutting more material as needed.
-
-![](/static/mb/projects/wallet/mbhole12.jpg)
-
-Put a generous layer of tape on the back of the @boardname@ to stick it on the wallet.
-
-![](/static/mb/projects/wallet/mbhole13.jpg)
-
-Attach the battery to the @boardname@. You are done for this step!
-
-![](/static/mb/projects/wallet/mbhole14.jpg)
-
-## Folding
-
-The last step is to fold the sheet and tape the sides to get a wallet.
-
-Start form the sheet facing paper up and fold the sheet over the large hole in the center.
-
-![](/static/mb/projects/wallet/fold1.jpg)
-
-Fold another time until the large hole is visible.
-
-![](/static/mb/projects/wallet/fold2.jpg)
-
-Apply a layer of tape on the side with the tape overlapping half over the wallet.
-
-![](/static/mb/projects/wallet/fold3.jpg)
-
-Flip over the wallet carefully.
-
-![](/static/mb/projects/wallet/fold4.jpg)
-
-Fold the remaining tape over the wallet and cut the sides with the scissors.
-
-![](/static/mb/projects/wallet/fold5.jpg)
-
-Tuck in the battery in the pocket inside the wallet and make sure the cables are out of the way.
-
-![](/static/mb/projects/wallet/fold6.jpg)
-
-Apply the tape on the side using the same procedure.
-
-![](/static/mb/projects/wallet/fold7.jpg)
-
-That's it! You have an @boardname@ wallet!
-
-![](/static/mb/projects/wallet/wallet.jpg)
-
-## Protecting those buttons!
-
-The buttons of the @boarname@ are left vulnerable to being ripped out.
-
-![](/static/mb/projects/wallet/rug1.jpg)
-
-If you plan to make an extensive use of your wallet without using the buttons, you might want to consider to protect the buttons with additional tape.
-
-![](/static/mb/projects/wallet/rug2.jpg)
-
-The wallet is ready, we just have to add some code into the @boardname@ to make it alive.
-
-### ~button /projects/wallet/code
-
-Let's add some code!
-
-### ~
diff --git a/docs/raspberry-pi.md b/docs/raspberry-pi.md
deleted file mode 100644
index d6745bdc..00000000
--- a/docs/raspberry-pi.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Raspberry Pi and Raspbian
-
-It is possible to run the web editor or [command line interface](/cli) from Raspbian on Raspberry Pi 2 or 3
-with [Raspbian Jessie with Pixel](https://www.raspberrypi.org/downloads/raspbian/).
-
-## Web editor
-
-Starting with **Raspbian Pixel**, Raspbian comes with Chromium. Simply open @homeurl@.
-
-## Command line
-
-The PXT command line also works on Raspbian and allows to run a local server and/or edit programs from any text editor.
-
-* Node.JS 6.0 needs installed
-
-To install all the tools,
-
-```
-curl -s https://raw.githubusercontent.com/Microsoft/pxt-rpi/master/install.sh | sh -
-```
\ No newline at end of file
diff --git a/docs/share.md b/docs/share.md
deleted file mode 100644
index 7dfb9a04..00000000
--- a/docs/share.md
+++ /dev/null
@@ -1,88 +0,0 @@
-# Sharing your project
-
-Once you've made your project, you can save it the cloud, share it, or embed it on another website.
-
-* Click **More...**, then **Embed Project**:
-
-![Asks to embed](/static/embed/publish.png)
-
-* Click **Publish project**. This will make the project publicly available
-* You will then see this information:
-
-![Embedding information](/static/embed/embed-info.png)
-
-## Sharing the URL
-
-You can share the URL for the project ([https://pxt.microbit.org/httuftrbtg](https://pxt.microbit.org/httuftrbtg) above) with other people, and they will be able to visit that page to see your project, download it, or edit it:
-
-![Project page](/static/embed/project-page.png)
-
-## Embedding into a blog or web site
-
-Rather than just sharing the link, you can also embed the project so that your visitors can use the simulator, edit blocks or code, or download the project without having to leave your site.
-
-### General instructions
-
-Select the kind of embedding you would like.
-
-* **Screenshot** - a lightweight screenshot of the blocks that links to the snippet
-* **Editor** - embedded editor with minimal UI
-* **Simulator** - embedded simulator only
-* **Command line** - specific instructions to unpack the project using the [command line](/cli) tools
-
-Copy the HTML for embedding the page from the publish dialog. It will look like the following:
-
-Open the HTML editor for your blog or website and paste it with your content
-
-### Wordpress
-
-[wordpress.com][] blogs do not support embedding content from most websites, so you will need to link to your project instead. Alternatively, if you have a Wordpress VIP account you can follow [these instructions][wordpress-vip] to embed an `iframe` into your blog. The URL that you need to add is like `https://pxt.microbit.org/?sandbox=1#pub:httuftrbtg`, but replace `httuftrbtg` with your project's unique identifier.
-
-If you self host a Wordpress blog you can install the [iframe-plugin][] and then write the following in your blog-post (again, replacing the `httuftrbtg` with your project's identifier):
-
-```
-[iframe src="https://pxt.microbit.org/?sandbox=1#pub:httuftrbtg"]
-```
-
-### Blogger
-
-* Create a new post
-* Click the 'HTML' button next to 'Compose' and paste in the HTML
-
-![Blogger](/static/embed/blogger.png)
-
-### Squarespace
-
-[Squarespace][] allows you to embed HTML code inside a blog post or page. In the editor, click to add a new block:
-
-![Squarespace block insertion](/static/embed/squarespace-insert.png)
-
-Scroll to **More** and select **Code**. Paste the embed HTML and click **Apply**:
-
-![Squarespace code insertion](/static/embed/squarespace-code.png)
-
-### Google Sites
-
-Google Sites doesn't currently [support iframes in custom HTML][google-sites-iframes], so you'll have to insert a link to your project's URL instead.
-
-### Office Sway
-
-[Microsoft Office Sway][sway] only allows iframes from [certain websites][sway-restricted], so you'll need to insert a link to your project instead.
-### Embedding in Markdown documents
-
-[Markdown][] is a popular text format supported by many blog editors. As Markdown supports embedded HTML, you should be able to paste the HTML into the document, although some sites may prevent you from doing this.
-
-### ~hint
-
-**Developers:** This page supports OEmbed as well
-
-### ~
-
-[wordpress.com]: https://wordpress.com
-[wordpress-vip]: https://vip.wordpress.com/documentation/embedding-rich-media-from-around-the-web-with-protected-embeds/#scripts-iframes-and-objects
-[iframe-plugin]: https://wordpress.org/plugins/iframe/
-[squarespace]: https://squarespace.com
-[google-sites-iframes]: https://support.google.com/sites/answer/2500646?hl=en
-[sway]: https://sway.com/my
-[sway-restricted]: https://support.office.com/en-us/article/Embed-content-in-your-Sway-1e1ab12a-f961-4a26-8afc-77a15f892b1d
-[Markdown]: https://daringfireball.net/projects/markdown/
\ No newline at end of file
diff --git a/docs/streaming.md b/docs/streaming.md
deleted file mode 100644
index 208f25ea..00000000
--- a/docs/streaming.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# Streaming
-
-This page describes how to stream data from the @boardname@ to the editor or even to the cloud.
-
-## Before starting...
-
-Make sure you follow the instructions on [how to setup a serial connection](/device/serial) with the @boardname@.
-
-## A typical scenario
-
-A common scenario is to chart some sensor data, such as the acceleration, and analyse it in the editor.
-For example, run this code on your @boardname@.
-
-```blocks
-basic.forever(() => {
- led.plotBarGraph(input.acceleration(Dimension.X), 0);
-});
-```
-
-If your serial connection is working, you will start to see a chart representing that acceleration ``x`` value read from the @boardname@.
-Each time ``led.plotBarGraph`` is called, the value is also written to the serial output. The log view automatically detects
-that there is a data stream and displays a graph.
-
-## Local download
-
-The log view will automatically start to collect and organize the data it detects. Simply click on the log view to open the various options
-to export the data. The simplest option is to download the data as a **CSV file**. This file can easily be opened in programs like Office Excel.
-
-## Cloud upload via Azure
-
-In the data export dialog, there is another option to upload the data to the Azure cloud. This allows to upload small amounts of data
-without any kind setup. The data can be accessed via web services or directly from Office Excel.
\ No newline at end of file
diff --git a/docs/support.md b/docs/support.md
deleted file mode 100644
index b83a89e5..00000000
--- a/docs/support.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Support
-
-Use the Microbit Foundation [support web site](https://support.microbit.org)!
-
-You can also read the [Frequently Asked Questions](/faq).
-
-## Developers
-
-You can also use our [GitHub issue tracker](https://github.com/microsoft/pxt-microbit) to report bugs.
\ No newline at end of file
diff --git a/docs/translate.md b/docs/translate.md
deleted file mode 100644
index cac441a5..00000000
--- a/docs/translate.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Help translate
-
-Our translations are managed via Crowdin, a translation management platform. It is free to join
-and you can volunteer to translate parts of the web site.
-
-See the [PXT translation](https://pxt.io/translate) page for more information.
diff --git a/docs/uploader.md b/docs/uploader.md
deleted file mode 100644
index 165ccb56..00000000
--- a/docs/uploader.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# Uploader
-
-### @description A Windows application that automatically deploys .hex files to connected @boardname@ boards
-
-### ~avatar avatar
-
-The Uploader **automatically** deploys .hex files to all @boardname@s connected to your computer.
-
-## [DOWNLOAD](https://www.pxt.io/microbit-uploader.zip)
-
-### ~
-
-### ~column
-
-### Works with any browser!
-
-The uploader monitors your Downloads folder looking for any .hex file that has been downloaded (saved from the browser).
-When it detects a new .hex file, the uploader tries to copy it to all MICROBIT drives.
-That's it!
-
-![](/static/uploader/tooltip.png)
-
-### ~
-
-### ~column
-
-### System Requirements
-
-* Windows XP or later
-* .NET runtime 2.0 or higher
-* Browser: this application will work for any web browser that is supported by the @boardname@
-
-![](/static/uploader/screenshot.png)
-
-### ~
-
-### ~column
-
-### Installation Instructions
-
-* Download the [Microsoft.Uploader.Microbit.zip](https://pxt.microbit.org/microbit-uploader.zip) file to your local computer.
-* Unzip the .zip file to your desktop.
-* Launch the Microsoft.Uploader.exe file before working on your @boardname@.
-
-### ~
diff --git a/pxtarget.json b/pxtarget.json
index 5ad333e9..a41f352f 100644
--- a/pxtarget.json
+++ b/pxtarget.json
@@ -228,7 +228,6 @@
],
"boardName": "Calliope mini",
"hideSideDocs": true,
- "usbDocs": "/device/usb",
"invertedMenu": true,
"invertedToolbox": true,
"monacoToolbox": false,