# Uploading programs to your @boardname@

Most of the time you'll be writing and testing your programs in the [simulator](/device/simulator). Once you've finished your program though, you can **compile** it and run it on your @boardname@. Transferring your program to the @boardname@ is as simple as saving a file to a drive on your computer.

When you plug your @boardname@ into USB, a new drive is created with the **@drivename@** label. This is where you'll save your program.

![](/static/mb/device/usb-thin.jpg)

The basic steps are:

1. Connect your @boardname@ to your computer with a USB cable.
2. Click **Download** to download the `.hex` file.
3. Move the `.hex` file from your computer onto the **@drivename@** drive. The next section has instructions for the browser that you're using.

## How to transfer the program with your browser

Here are instructions for different browsers on Windows and Mac computers. Choose the one you're using:

### Windows browsers

* [Microsoft Edge](/device/usb/windows-edge)
* [Internet Explorer](/device/usb/windows-ie)
* [Chrome](/device/usb/windows-chrome)
* [Firefox](/device/usb/windows-firefox)

### Mac browsers

* [Safari](/device/usb/mac-safari)
* [Chrome](/device/usb/mac-chrome)
* [Firefox](/device/usb/mac-firefox)

## ~hint

Transfer not working? See some [troubleshooting tips](/device/usb/troubleshoot).

## ~