[![Join the chat at https://gitter.im/luc-github/Repetier-Firmware-0.92](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/luc-github/Repetier-Firmware-0.92?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
This firmware is based on the popular repetier firmware and modified to work with first generation Da Vinci 1.0, 2.0 single fan and 2.0., per feedback it seems also working on AiO but scanner function is not support so it will work like a 1.0A
YOU MIGHT DAMAGE YOUR PRINTER OR VOID YOUR WARRANTY, DO IT ON YOUR OWN RISK.
The board can be easily exposed by removing the back panel of the printer secured by two torx screws. Supported boards have a jumper labeled JP1, second generation boards have a jumper labeled J37. More info can be found on the [Voltivo forum](http://voltivo.com/forum/davinci-peersupport/340-new-kind-of-mainboard-no-j1-erase-jumper).
* It works with host software such as [repetier host](http://repetier.com) and [OctoPrint](http://octoprint.org/) giving you full control of your hardware.
* It works stand alone if you use a WIFI SD Card.
* It allows the use of clear ABS (by disabling optical sensors), as well as other arbitrary filament brands/types as temperatures can be controlled freely and there is no requirement for chiped cartridges.
The current firmware is based on [repetier Firmware](https://github.com/repetier/Repetier-Firmware) 0.92 : [bgm370 Da Vinci 1.0 FW](https://github.com/bgm370/Repetier-Firmware)
1. With the machine off remove the back panel and short the jumper JP1 or J37 depending on model. Some Boards do not have jumper pins exposed but can still be shorted with a conductive wire.
2. Turn the machine on and wait a few seconds then turn it off again. The machine will have been flashed removing the current stock firmware and allowing it to be detected as a normal arduino DUE. NOTE: Windows users may need to install drivers to detect the board. Consult the Voltivo forums.
3. Use an arduino IDE supporting arduino DUE, [version 1.5.8+ Not 1.6.0](http://arduino.cc/en/Main/OldSoftwareReleases), 1.6.0 bring several issues - a [tracker](https://github.com/luc-github/Repetier-Firmware-0.92/issues/51) is open to follow up .
4. Update arduino files (variants.cpp and USBcore.cpp) with the one(s) present in src\ArduinoDUE\AdditionalArduinoFiles\1.5.8. or in src\ArduinoDUE\AdditionalArduinoFiles\1.6.0 according your IDE version
NOTE: You do not need to compile arduino from source these files are in the arduino directory structure. On Mac you will need to right click on the Arduino.app to Show Package Contents.
5. Open the project file named repetier.ino located in src\ArduinoDUE\Repetier directory in the arduino IDE.
6. Modify the DAVINCI define in Configuration.h file to match your targeted Da Vinci. See below.
7. Under the tools menu select the board type as Arduino DUE (Native USB Port) and the proper port you have connected to the printer. NOTE: You can usually find this out by looking at the tools -> port menu both before and after plugging in the printer to your computer's USB.
8. Press the usual arduino compile and upload button.
If done correctly you will see the arduino sketch compile successfully and output in the log showing the upload status.
10. After printer restarted <B>do not forget to send G-Code M502 then M500 </B>from repetier's Print Panel tab <B>or from the printer menu "Settings/Load Fail-Safe"</B> and accept to save the new eeprom settings.
11. When update is complete <B>you must calibrate your bed height!</B>
You can do so by homeing all axis, turning off the printer and manually adjusting the bed leveling screws until the glass bed is just under the nozzle at each end of the bed. While the printer is powered off you can move the print head by hand and slide a piece of paper over the glass bed and under the nozzle with a slight pull on the paper from the nozzle.
For information on upgrading from or reverting to stock FW and other procedures please check [Da Vinci Voltivo forum](http://voltivo.com/forum/davinci).
Do not forget to modify the configuration.h to match your targeted Da Vinci: 1.0, 2.0 SF or 2.0.
Another excellent tutorial for flashing and installation is here from Jake : http://voltivo.com/forum/davinci-peersupport/501-da-vinci-setup-guide-from-installation-to-wireless-printing
Or a great video done by Daniel Gonos: https://www.youtube.com/watch?v=rjuCvlnpB7M