# About

Welcome to the **Microsoft MakeCode** editor for the **@boardname@**!

## Programming: [Blocks](/blocks) or [JavaScript](/javascript)

You can program the @boardname@ using [Blocks](/blocks) or [JavaScript](/javascript) in your web browser:

```block
input.buttonA.onEvent(ButtonEvent.Click, () => {
    light.showRing(`blue blue blue blue blue blue blue blue blue blue`)
})
```
```typescript
input.buttonA.onEvent(ButtonEvent.Click, () => {
    light.showRing(`blue blue blue blue blue blue blue blue blue blue`)
})
```

The editor work in [most modern browsers](/browsers), work [offline](/offline) once loaded and do not require any installation. 

## [Compile and Flash: Your Program!](/device/usb)

When you have your code ready, you connect your @boardname@ to a computer via a USB cable 
**then press the reset button** so it appears as a mounted drive (named **CPLAYBOOT**). 

Compilation to machine code from [Blocks](/blocks) or [JavaScript](/javascript) happens in the browser. You save the binary 
program to a **.uf2** file, which you then copy to the **CPLAYBOOT** drive, which flashes the device with the new program.

## Simulator: Test Your Code

You can run your code using the micro:bit simulator, all within the confines of a web browser. 
The simulator has support for the LED screen, buttons, as well as compass, accelerometer, and digital I/O pins.

```sim
loops.forever(() => {
    light.pixels.showAnimation(light.animation(LightAnimation.Rainbow), 1000)
})
```

```package
light
```