I'm trying to flash the Marlin Firmware to my Prusa i3 3D Printer, which uses Melzi 2.0 board. Melzi is a variation of Sanguino, and Sanguino is a variation of the Arduino.

The problem is that the version I'm using of Marlin (this one, development branch) only works with Arduino Mega. I saw that the file pins_RAMPS_13.h says the following (line 15-17):

#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
   #error Oops!  Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.

So I tried to make this part to look like this:

#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) && !defined(__AVR_Melzi_ATmega1284p16mhz__)
   #error Oops!  Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.

Does anybody know if there's another repository made for the Melzi board?
Or if I should use another firmware, like Repetier (I tried, fail)?
Thanks for any help.

  • 1
    You can't add arbitrary devices to a conditional check and expect the code to work. The code needs to be ported to the device. Aug 7, 2015 at 6:39

1 Answer 1


It looks like the Marlin firmware supports two versions of the Melzi board, although it isn't clear if it specifically includes the 2.0 version. The best thing to do is just try it. In the Configuration.h file find the section where it says:


Now replace BOARD_ULTIMAKER with BOARD_MELZI_1284 and try that. If that doesn't work you can try just BOARD_MELZI. If neither of those work, you are out of luck, unless you are willing to dig in and do the pin mappings yourself.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.