A compact all-in-one controller board for RepRaps with one extruder head, optimized for mass production. The point of RepRap is to make itself, of course. But sometimes people just want plug-and-play RepRap electronics so they can concentrate on the other aspects of the machine, or just because they are more software or mechanics oriented than electronics oriented. Melzi is designed to be a complete set of RepRap electronics that should be very cheap to mass produce. It is based on the Arduino Leonardo (Francesco Melzi was Leonardo's pupil).
The Melzi Ardentissimo is a full-featured Melzi board using the ATMEGA644P (ATMEGA1284P is being tested) chip used on Sanguinololu. This is a Sanguinololu firmware compatible board, though does have a couple of extra features the Sanguinololu does not - namely the extra Mosfet for the fan, and a software controllable LED. Melzi has micro SD on board as well. A full StepStick clone is on board as well negating the need for external stepper motor drivers.
Bootloader, Firmware Upload
Programming or re-uploading a firmware should be the same (except for firmware configuration, of course) as for all other ATmega644/644P/1284P based electronics. One such is Generation 7 Electronics. Especially, Gen7 Arduino IDE Support gives bootloaders and Arduino libraries adjusted for these MCUs.
Gen7 Arduino IDE Support Installation
Gen7 Arduino IDE Support Bootloader Upload
f you can already upload a firmware over the serial port or prefer to upload your firmware with a programmer, you can skip this step. Bootloader and firmware are entirely independent from each other. For your Sanguinololu to accept firmware over the USB connection you first need to burn the Sanguino Booloader to the ATmega 644P. There are several ways to accomplish this. The most popular seems to be burning the Bootloader with an Arduino acting as an ISP. A great tutorial on how to do this is listed in alphabetic order below. We will try and complete tutorials on the other methods as we have the time. Flashing the bootloader with a: Arduino as a ISP Computer with Parallel port USBasp USBTiny Note: Revision 1.3a use Sanguino-0018r1_1_4 for support for Arduino <=23. Fuse Settings The fuses for the atmel chip must be changed from the default factory settings to disable JTAG. Symptoms of incorrect fuse settings: X axis only moves in one direction. Endstops do not work. 644P Fuse Settings The settings come from the bootloaders boards.txt file. Example using avrdude and usbtiny. avrdude -B 8 -patmega644P -c usbtiny -U lfuse:w:0xFF:m -U hfuse:w:0xDC:m -U efuse:w:0xFD:m
Firmware You will need to upload a RepRap firmware to your Sanguinololu once the Bootloader has been burnt. You can do this using the USB cable and the Arduino IDE (v0022, 1.0 has issues with the Arduino library coming with the Sanguino extensions). If you know of other working firmwares than what is listed below please feel free to add them. Compatible Firmwares Sprinter Sprinter Marlin Non-Gen6 Marlin GitHub Teacup Teacup_Firmware