From RepRapWiki
Jump to: navigation, search

Crystal Clear action run.png

Release status: working

Description Release Version 2.0
License GPL 2.0
Author Joem & Adrianbowyer
Based-on Sanguinololu
Categories Electronics, Development, Mendel Development
CAD Models
External Link none



현재 열심히 번역 중입니다 :)

영문과 한글이 섞여 있으니 이해해주세요.


하나의 익스투르더 헤더(압출기)를 가지는 립랩을 위한, 대량생산에 최적화된 컴팩트한 올인원 콘트롤러 보드 입니다.

립랩은 물론 스스로 만드는 것이 핵심입니다. 하지만 때때로 사람들은 플러그엔플레이(그냥 꽃으면 작동하는) 립렙 전기장치를 원하기도 합니다. 그러면 그들은 전기장치보다 다른 부분, 소프트웨어나 기계쪽에 더 집중을 할수 있기 때문이지요.

Melzi 는 싸게 대량 생산을 하기 위한 완벽하게 디자인된 립랩 전기장치 셋 입니다. 이것은 원래 Arduino Leonardo에 기반하고 있었으나, 나중에는 레오나르도 다빈치의 제자인Francesco Melzi로 변경되었습니다.


당신의 Melzi 보드를 식별하기 위한 필드가이드 :

보드 명 ATMEGA mcu Stepper Drivers 제조사 연도
RepRap Melzi 2.0 1284P A4982 RepRapPro 2012-현재
"Melzi 2.0 1284P" (eBay hybrid) 1284P A4988 Various eBay vendors 2012-현재
Melzi Ardentissimo 1.0 644P A4988 RepRapPro 2011

Melzi 버전 1.0 (Ardentissimo)


Melzi 버전1은 ATMEGA 644 마이크로컨트롤러를 사용했습니다. 그리고, A4988 스텝모터 드라이버 4개를 사용했습니다. 그러나 PCB 기판의 회로설계와 관련된 문제가 발생하였고, 보드를 튼튼하게 만들기가 어려워 졌습니다. 때때로 서미스터값을 읽는 것이 부정확하거나 실패하곤 합니다.

주의하세요!!! 온라인에서 파는 저렴한 셀러들은 아직도 Melzi의 이 버전을 팔고 있습니다. 이 페이지 아래에 있는 "구매처" 리스트를 참조하세요.

Melzi 1.0/2.0 eBay Hybrid

Melzi V03.jpg

Most listings online for "Melzi 2.0 1284P" or "Melzi V03" (as above) actually use the 1.0 board schematic, including "Melzi Ardentissimo" lettering and A4988 steppers like the 1.0, but use an ATMEGA 1284P microcontroller like the 2.0. Firmware for the 2.0 will work on these hybrids.

Melzi 버전 2.0



  1. Processor: ATMEGA1284P (Sanguino compatible)
  2. All screw connectors - no soldering
  3. Micro SD card slot for GCode files
  4. Mini USB interface
  5. 4 x A4982 stepper drivers
  6. 3 x MOSFET drivers for hot end, bed and cooling fan
  7. Dimensions: 210mm x 50mm x 17mm
  8. Weight: 70g



소스 파일

Version 1.0 of Melzi was developed by Joe Mosfet.

Version 2.0 of Melzi was developed from Joe Mosfet's original by RepRapPro Ltd. It can be found at:

Melzi 세팅

Usually, most boards are supplied with bootloader and firmware on the board, and the stepper driver currents preset. If not, read on...

부트로더 업로드

If the ATMEGA chip on your board is supplied blank, or you have had to replace the chip on your Melzi (for example, if you have short circuited the ATMEGA chip), you will need to flash/burn a bootloader onto the chip.

To replace the Atmel ATMEGA1284P chip on the Melzi, this is the technique RepRapPro uses:

  1. Remove old Atmel ATMEGA1284P chip - we find a hot air soldering iron is easiest; be careful not to overheat the crystal that is right next to the chip. You can heat it up in a solder oven, but be careful not to nudge other components.
  2. Solder on new chip - make sure it is the right way around! Use a flux pen to put plenty of flux on the board first, then solder the chip in place. You can do this with a fine tipped soldering iron, hot air soldering iron, or solder oven.
  3. Check there are not bridges on the pins with a strong magnifying glass or microscope

To upload the bootloader:

  1. The chip comes blank; you will need to flash/burn a bootloader onto the chip. When it's blank, it can't even talk via USB, only via the ISP pins on the board.
  2. To burn the bootloader, you will need an AVR programmer, like This is the official one, and quite expensive, but cheaper ones are available on ebay. Check that you get one that is compatible with ATMEGA1284P chip; the USBtinyISP does NOT work with these chips.
  3. Download the latest version of Arduino IDE software (at time of writing 1.0.5) from
  4. Make sure you download the latest 'Sanguino' folder from and put it in your Arduino/hardware folder (there should already be other folders called 'arduino' and 'tools' in this folder)
  5. Connect the AVR programmer to your PC, via USB. Connect the programmer to the Melzi, via the SPI pins. Connect USB to the Melzi - it needs power from the USB.
  6. Open Arduino IDE. Under 'Tools | Board' menu, select 'Sanguino W/ATmega1284p 16 mhz'. From the 'Tools | Serial Port' menu, select the port your AVR Programmer is on. From 'Tools | Programmer' select your AVR Programmer type.
  7. From 'Tools' menu, select 'Burn Bootloader'. You may well receive an error; search the internet with the error message to troubleshoot what part isn't working properly. it mostly depends on the AVR Programmer you are using. Of course, there may also be a problem with your board...

Upload the bootloader with a Arduino UNO as ISP:

  1. You can burn/flash a bootloader with a Arduino UNO. The first thing is to update the ISP software into the Arduino UNO.
  2. Download the latest version of Arduino IDE software.
  3. Open Arduino IDE. Load the ISP software 'File | Examples | ArduinoISP'. Under 'Tools | Board' menu, select 'Arduino UNO'. Also select the good serial port.
  4. Click on the upload button to transform your Arduino UNO into an ISP programmer.

Once the Arduino UNO is an ISP programmer, one can connect it to the melzi board with 4 wires:

 * pin 1 MISO (Melzi) on pin 12 (Arduino)
 * pin 3 SCk  (Melzi) on pin 13 (Arduino)
 * pin 5 Reset(Melzi) on pin 10 (Arduino)
 * pin 4 MOSI (Melzo) on pin 11 (Arduino)
Arduino as ISP.jpg
  1. Connect both Arduino UNO and Melzi board to your PC.(The Melzi board needs power)
  2. Download the latest 'Sanguino' folder and install it like describe above.
  3. Open Arduino IDE. Under 'Tools | Board' menu, select your card between all Sanguino. If you don't know the card, you can pick one randomly. If you have selected the wrong card, the Arduino UNO will not burn the bootloader and will give you an error.
  4. From the 'Tools | Serial Port' menu, select the port your Arduino UNO is on. From 'Tools | Programmer' select 'Arduino as ISP'
  5. If the board you selected previously wasn't the good board, you will receive an error message saying something like board id 'XX' isn't the right one, where XX is in hexadecimal. If 'XX' is 'ff', double check wires, otherwise try another board type under 'Tools | Board' menu or check on Google the board type with the 'XX' value.

펌웨어 Upload

There is a version of the Marlin RepRap firmware for Melzi on RepRapPro Ltd's Github repository here. It contains the extra files needed for the Arduino IDE to talk to a Sanguino (and hence to the Melzi). These also allow you to flash the bootloader using an appropriate programmer.

There are more detailed firmware instructions on the RepRapPro site here.

As an alternative to the Marlin firmware there's the Repetier firmware for the Melzi which in my case worked better than the Marlin firmware. More details about this firmware can be found here. There's also a special firmware configuration tool (v0.92) with some nice features. If you like Repetier you can donate some money.

Melzi 아두이노 핀 번호

#define X_STEP_PIN         15
#define X_DIR_PIN          21
#define X_MIN_PIN          18

#define Y_STEP_PIN         22
#define Y_DIR_PIN          23
#define Y_MIN_PIN          19

#define Z_STEP_PIN         3
#define Z_DIR_PIN          2
#define Z_MIN_PIN          20

#define E0_STEP_PIN         1
#define E0_DIR_PIN          0

#define LED_PIN            27

#define FAN_PIN            4 

#define HEATER_0_PIN       13 // extruder

#define HEATER_BED_PIN     10 // bed (change to 12 for breakout pin on header)
#define X_ENABLE_PIN       14
#define Y_ENABLE_PIN       14
#define Z_ENABLE_PIN       26
#define E0_ENABLE_PIN      14

#define TEMP_0_PIN          7   // Analogue pin
#define TEMP_BED_PIN        6   // Analogue pin
#define SDSS               31

#define SLAVE_CLOCK	   16

모터 전류 세팅하기

This is covered on this page: RepRapPro_Setting_Motor_Currents

Melzi 추가 사항

Melzi에 블루투스 연결하기

In order to get rid of the USB connection between Melzi and the PC one may like to use Bluetooth. There is a cheap module available in the market called 'JY-MCU' (vendor Shenzhen Jiayuan Electronic Co.,Ltd.).

Jy-mcu f.jpg Jy-mcu b.jpg

블루투스 모듈 세팅 변경

Before the module can be used the default setting has to be changed. Connect the module from PC via USB<->RS232 (RxD/TxD) interface with default settings (9600, N, 8, 1). The module shouldn't be paired at that moment. Apply with a terminal program the following AT commands:

AT+BAUD8 OK115200BAUD (set baud rate for Melzi)
AT+NAMEHUXLEY OKsetname (optional set name, default: linvor)
AT+PIN0000 OKsetPIN  (optional set pin, default: 1234)

More details about the configuration you will find here [[1]]

블루투스 와이어링

On Melzi one of the unused buffer of soldered 4050D takes over the mandatory level-shifting (5V -> 3.3V). Overall only 5 wires have to be soldered. Note that the TXD outputs are connected in parallel which is not recommended. On Arduino boards the serial chip is connected to the main IC via 1kOhm resistors for this reason. This are not present in the Melzi board design.

BT Connection.png

블루투스로 연결하기

Once you have setup your BT devices you can select from drop down list and control your RepRap as usual.

Lcd 화면

Gert added a lcd+rotary encoder on his Melzi, here is some pictures

A regular text-based LCD can be connected via I2C, as shown on this blog. The latest version of Marlin already supports a number of I/O expanders (PCA8574, PCF8574, MCP23017, MCP23008).

The Panelolu2 lcd+encoder is designed to work with Melzi and has an adaptor board for easy connection.

Melzi 고치기

Broken your Melzi? Maybe this will help (feel free to add your fixes):

보드에서 미니 USB 커넥터가 떨어졌어요!

A repair by Kevin T:,239276

Melzi에 연결할 수가 없습니다. (FTDI 드라이버 문제)

There has been an issue where a FTDI driver update, pushed out through Microsoft update, disables Melzi controllers that have a non-genuine FTDI chip. This chip is used for USB communication, so the board may look like it's working (LED flashing) but doesn't show up correctly, and Arduino IDE/Pronterface can't connect to it.

This thread describes the problem in detail:
Apparently, the only way to visually check the chip is described here:
There is a thread about it on the reprap forums here:,417199
There is a work-around for the problem (forcing driver installation, for Windows) here:,417199,418768#msg-418768

If the chip has been effected by the driver (ie deemed fake), the device PID is set to '0000'. You can check this in the Mac System Profiler, or on Ubuntu open a terminal window, run "lsusb" and it should show a device at "0403:0000". If you use Ubuntu, there is a tool for resetting the device PID correctly: Then update the FTDI drivers on your machines so it doesn't rebrick the FTDI chip.

스크류 터미널이 녹았습니다.

Sometimes, the screw terminals on a Melzi melt. More often than not, it's the bed terminal, and is due to the wire being poorly connected, ie loose in the screw terminal. It can also cause the MOSFET to fail, as it cannot dissipate heat generated as it switches on and off. RepRapPro advises customers to check the screw terminal connections periodically:

If the Melzi PCB is undamaged, you can simply replace the screw terminal. There are a couple of different screw terminal blocks, these are the most common:
This is the most common one -
this one is a bit taller, and easier to get the wires into -

The heated bed power cable carries about 10A at 12V, so any poor connection will tend to heat up. Check that your power and heated bed wires are stripped back far enough to go well into the screw terminals, and it's always worth checking that the screw terminals are well-tightened occasionally. Also, wire the printer with enough slack on the heated bed power wire so that it can be attached to frame, and there shouldn't be any movement of it at the Melzi end. But strain relief on any moving wire is necessary - try to make the movement in the actual wire, rather than at a connection point, to avoid the wire fatiguing.

Hotbed나 압출기에서 잘못된 값이 뜹니다.

If your hotbed or extruder are reporting values even when the thermistor is not connected, it may be because the capacitor is spoilt. Try removing the capacitor and replacing it.

See RepRapPro Mendel/Huxley troubleshooting documentation for other temperature issues HERE

펌웨어를 구울때 avrdude 에러가 발생

The avrdude response is "avrdude: stk500_program_enable(): protocol error, expect=0x14, resp=0x50...)" when I try to flash firmware

First check that a new serial port appears when you plug the card into your PC. Then be sure than you burn a bootloader inside the card, see 'Bootloader Upload' section.

X 축이 오직 한방향으로만 갑니다. / Endstops이 작동하지 않습니다.

This may be due to bad 644P Fuse Settings. The settings come from the bootloaders "hardware/arduino/boards.txt" file from sanguino. Good setting for 644P board are:


Then you need the reburn the bootloader with these settings.

Melzi 이슈들 (Geeetech)

Below is a list of issues encountered with the Geeetech Melzi boards. These boards currently retail for as low as $50 USD (The v2.0 from other manufactures and some Sanguinololu's cost upwards of $80-90). My personal opinion is that the Geeetech boards are inferior, and will cost more in rework/repair/time than if a more expensive controller board were purchased instead (e.g. Melzi 2.0, Sanguinololo, or RAMPS). I purchased 5 of these back in January 2014, have repaired/reworked all of them, and have already replaced/upgraded two with other controllers --FlyingLotus1983 (talk) 19:47, 23 March 2014 (PDT)

  • Random short-circuits on the PCB traces. This is a manufacturing defect that happens to cheap boards that are not electrically tested. For example, one board had a short between the X direction logic signal and ground, which caused the X axis to only move in one direction. Another board had one of the microstepping jumper signal wires shorted to ground, so when I set the jumper (MS1-3), this shorted out the 5V rail to ground, which is very bad and dangerous.
  • The BTEMP and ETEMP resistors (R4 and R5) are the wrong value. The original Melzi was also 10K but changed to 4.7K over two years ago (The Melzi 2.0's use the correct value), however Geeetech is still using the wrong value. This hurts the precision of the thermistor, therefore it is better for to rework and replace with 4.7K than use 10K and change the thermistor tables in the Marlin firmware.
  • The voltage regulator is not capable of 24V input voltage. This is understandable if it was designed this way, but the board should still say somewhere in the documentation "only supports up to 18V input" or something like that. It doesn't. The "fix" for this is to set the jumper ("PWR-SEL") to USB, and also to possibly disable/remove the 7805 voltage regulator. Another fix would be to buy a 7805 that is actually capable of 24V input, from Digikey or another distributer.
  • The MOSFET transistors used will literally let out magic blue smoke if used with a standard Mk2b PCB heated bed wired for 12V. With 12V input voltage, and the Mk2b bed wired for 24V, the bed does not get hot enough to be useful. And when wired for 24V and given 24V input voltage, it does work, but only if an external heatsink is added to the MOSFET. This is very dangerous, and at the very least, the specifications of voltage and current should be disclosed to the user so they can add appropriate external MOSFET or solid-state relay. Obviously, as mentioned before, there are no specs anywhere on what sort of current/power the heated bed circuit can handle. The Geeetech boards do not use the RFP30N06LE's like the original Melzi board spec'd out, so I am unsure of exactly how much current and power it is capable of. Please use caution when hooking up a heated bed to this board.
  • One of the boards resets when the SD card is plugged in. Have not yet gotten around to trying to troubleshoot this one. (This is standard on all Melzi boards, and is because the SD socket shares the reset pin, I think. However, it may be because the SD socket runs on 3.3V, which it gets from the FTDI chip.)
  • The LED is really dim. They should use around 390 ohm for R25 but for some reason they use 1K.
  • The stepper motor trim pots used to set current (T1-T4) are not set to a low value from the factory. If they are not set to something reasonable (say 0.4V) before the stepper motors are plugged in and power applied, the board will get really hot and may be damaged. Instead the board should be powered up at 5V using USB and the voltages at the trim potentiometer wiper should be measured with a DMM, and tweaked until they read 0.4 volts. This should be done for all four trim pots, preferably before shipping to the customer. Since this step is not done, do not forget to do it. They do not come with instructions.

Please note that after contacting Geeetech, they have issued a product recall for a batch of boards (From 12/2013 to 03/2014). They have posted on their blog how to get the replacement components.

They say that "the main problems are the heatbed and extruder thermistors are using resistors that are 10kohms instead of 4.7Kohms. Secondly, The MOSFTEs for the heatbed used the 10N06 which can only take 10A current (now changed to the 35N06). For customers who are facing the Melzi boards issues, please contact GEEETECH service team via, and we will ship you the components for replacement free of charge."

This probably means installing them yourself, but its quite good.

Digikey replacement parts for Geeetech Melzi:

P4.7KECT-ND (4.7 OHM 1/4 Watt resistor)



RepRapPro - Melzi V2.0