# 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). ## ~