I’ve used an Arduino Duemilanove but you can use an Uno (I am not sure about Nano and other types). Arduino gives you a little more info about this process here. Whatever device you are using, this is called the ISP programmer.

1.Install Arduino 1.6.9 (I use this only because the firmware was confirmed working with this, you can probably use the latest but not certain), and install the Sanugino package. This can be done by copying the contents of the zip to /ARDUINO_INSTALL_DIRECTORY/hardware.

2. Connect the ISP programmer/Arudino to your computer. Open device manager -> ports to see what COM port it is if you are unsure.

3. In the Arduino IDE, Tools -> Board -> Select your Arduino board and select the COM port corresponding to your device, Tools -> port

4. Open the ArduinoISP example from File -> Examples ->ArduinoISP -> ArduinoISP and upload it to your Arduino by clicking the upload button.

5. Now we need to burn the bootloader to the Melzi. This will require either 6-pin headers or some sort of make-shift situation like I have done (wires + solder + Arduino headers). However you do this, connect the pins on the Arduino to the Melzi board ISP pins on the bottom of the board. As per the schematic, ensure the following pin connections:

Arduino 10 -> Melzi RES

Arduino 11-> Melzi MOSI

Arduino 12 -> Melzi MISO

Arduino 13 -> Melzi SCK

Arduino 5V -> Melzi 5V

Arduino GND -> Melzi GND

6. Once the connect is made, ensure both the Arudino and Melzi are powered by USB.

7. Go to Tools -> Programmer -> Arduino as ISP.

8. Go to Tools -> Port -> select the port corresponding to the Melzi board, not our Arduino.

9. Change the processor board to Sanugino using Tools -> Board and set processor to The Sanguino ATmega1284p (16MHz) using Tools -> Processor.

10. Click Tools -> Burn Bootloader. This should take about one minute or so and will notify you if successful. Errors will occur if steps 7 – 9 aren’t followed.

11. Remove the headers from the the SPI pins on the Melzi board. You won’t need the Arduino anymore so you can disconnect this too.