Updated firmware - Marlin 2.0.x

Hi there. First post.
Thought my first post here could be something of contribution.

I recently downloaded the latest Marlin firmware code (from marlinfw(dot)org ). Then I took the board and pin header files from the old marlin 1.0.x code provided by Velleman and made a few changes so they fit the newer Marlin 2.0.x code. Compiled it up and voilá. Here it is, with a few added extra features, such as dimmable case lights and automatic filament change/load/unload.
It also fixes a lot of bugs known in previous versions of the Marling firmware. If you do find any bugs, please do report them here, or to the official marlinfw website.

Precompiled firmware to flash:
https://ghostnet.sytes.net/Other/VM8600/Marlin-2.0.x_Vertex_Nano_VM8600.hex

Source code to modify and/or compile with your prefered IDE (Arduino IDE for instance)
https://ghostnet.sytes.net/Other/VM8600/Marlin-2.0.x_Vertex_Nano_VM8600_src.zip

In order to be able to flash a firmware, you need to short the JPROG jumper located near the USB connector.

Once you flash your Vertex Nano with this firmware, you might end up with an EEPROM error. This is due to the old settings not being compatible with the new firmware. Hook up your printer with the USB lead and launch your prefered software you use to sen gcodes to the printer. Serial settings:
Baudrate: 250000
Data Bits: 8
Stop Bits: 1
Flow Control: None
Parity: None
Mode: Read/Write

The send these two commands in the given order: (They’ll reset everything to factory defaults and stores it in EEPROM)
M502
M500

Then power cycle the 3D-printer.

When it comes to calibrating Z-axis, there a few things to keep in mind:
The procedure is generally the same as before. But as an additional step one have to store the settings once the calibration is done and home offset is set. Otherwise, it won’t remember the calibration.
This is done via the Configuration menu, then “Store Settings”. This also applies to any other settings that one might change.

About filament change:
As the bowden tube might vary in length between iterations of the machine production and/or user modifications, one has to measure the total length from feeder to the nozzle and then set the proper lengths in the Configuration. Default is 540 millimetres when unloading and 490 millimetres for loading (shorter to give room for any slack/variation upon insertion). Currently, the absolute maximum is 700 millimetres (set as a safety maximum extrusion length in firmware)
This is done via “Configuration” -> “Advanced Settings” -> “Filament”. Unit is in mm (millimetres)

For additional documentation, see marlinfw(dot)org
VM8600/K8600 hasn’t been officially added to the Marlin 2.0.x tree yet, and I don’t think my contribution is of “good enough” quality to be implemented in the official tree. Nothing wrong with the code otherwise. Just that the coding style isn’t up to par.

If you find any problems or just wish for something to be changed (Within reasonable goals of course), just tell me here and I’ll see what I can do.

Disclaimer: Everything you do with these files is fully your own responsibility. I am not reliable for anything that might go wrong.